If I could program my camera, I'd add a shooting mode that would take a picture without flash, and then take another picture with flash immediately afterwards.
Pictures always look better without flash because it doesn't wash out people's skin and also has a much warmer colour, but unless the lighting conditions are really good you end up with a blurry picture. You can compensate for it with a higher ISO (the digital camera's sensitivity to light) but the trade-off is a grainy image.
Sometimes it's worth having a bit of graininess because it still looks far better than a picture taken with flash. But sometimes it's so grainy that the picture with flash is more bearable. So what I end up doing is taking pictures with and without flash and then discarding the one I don't like.
It's just a pain in the ass - to myself and to my subjects - to have to take a picture, change the setting, then take another picture. Why can't I just do both at once?
Do you have a Canon? You can look into CHDK firmware that allows you to write scripts for camera functions: http://chdk.wikia.com/wiki/CHDK. I'm sure there's similar stuff for other cameras as well.