In cases where the picture is bad, the problem is that the camera's software is unable to interpolate the pixels correctly according to the JPEG file format specification. This is probably due to an overly-high exposure: The contrast between the pixels is so high that the JPEG filter literally "breaks-down" and is unable to provide a smooth transition between neighboring pixels.
Take this image I found in a post over at PDAPhoneHome:
http://pdaphonehome.com/forums/attac...-image_010.jpg
At full resolution, you can see the lack of interpolation between the neighboring pixels, resulting in what looks like a "blurry" or "staticky" image. Your brain also interpolates images on-the-fly, but the pixels in that image at full resolution are "too hot": i.e., The contrast between each pixel is too great to form a "smooth" image. In turn, the image looks "rough" like sandpaper.
I happen to be using the Safari web browser on an Apple iMac computer. It automatically dithers an image down to fit in the page, but in doing so, it also applies a dithering filter to compensate for the change in pixel/size ratio. In other words: My browser is applying the filter that the camera software cannot because of the high exposure, resulting in a much smoother picture.
Here is a screen shot taken directly from my desktop with NO Photoshop effects, filters, or post-processing applied:
http://i6.photobucket.com/albums/y24...ird/screen.jpg
As you can see, the image is much "clearer": At least when you look at the grass you can get an appreciable sense of the texture versus the graininess of the full-scale image. And notice the recovered detail in the man's shoe.
To "fix" the blurriness problem, take pictures at the highest resolution. You can then use Photoshop to re-sample the image down to about 50% or less until you can start to see textural detail.
Also, "fix" the over-exposure issue, you can temporarily change the image format from RGB to LAB color. Once in LAB color, open the Channels palette and click on the layer labeled lightness. You can then tweak the brightness/contrast as well as other options such as Levels from the Adjustments menu. You won't be able to recover detail from areas that are over-saturated (i.e., very "hot" whites), but you will be able to recover some texture and color depth.
Just wanted to explain what what happening. I know this doesn't solve the problem, and it sucks to have to have to edit your image in post to get something useable, but I just wanted to shed some light on the issue.