There has always been an inherent problem with photography: the eye can see a much larger range of light than a camera can capture. This was true with film and is still true with digital capture.
That said, there are ways around this limitation. One of the most common and easiest nowadays is HDR (High Dynamic Range). Using this technique, you take multiple shots of the same scene, varying the exposure so that you have a large range of exposures covered (i.e. -3 stops, -2 stops, -1 stop, normal, +1 stop). You then load all these images in a software package that combines all the images in such a way that dark areas in one shot have detail while overly light areas have a correct exposure.
Tuesday was a gorgeous night. Partly cloudy, unseasonably warm (60s). So I decided to head out to the Minneapolis waterfront and play around with HDR.
Here's an example of the unprocessed files:
Note the illuminated sign and the streetlights are close to correct.
This one the clouds are slightly lighter.
The water here is looking pretty good, but the clouds are lighter than I like.
The buildings and bridge are good in this one, but the sky has lost the color.
The files were then combined into this image.
Here are some other images I made before and afterwards. I'm not totally happy with every detail, and I had problems with other attempted captures, so I need to play around some more. I'm OK with that.