I use an Exposure layer or Curves or both. I seldom if ever use a 50% gray layer any more.
All three methods have limitations. Photoshop uses algorithms to create those lighter or darker colors, and at some point those algorithms get stretched beyond what they can comfortably do to the pixels.
Actually, nowadays for quick adjustments I often go into Lightroom and use an adjustment brush set to the exposure compensation I want. The trick to doing that successfully is to know (or experiment to find out) how many stops darker/lighter you want it.
For example, if you set the adjustment to -2 stops then if you need -1.5 or -2.5 stops you'll be fine if you just tweak the brush's exposure value after you brush the area you want adjusted. However, if you start at -0.5 stops then try to tweak that adjustment to -2 stops it will look ugly.