maybe this will help -
Typically the problem is the resolution of the image. If the image is scanned to high or it was taken on a high quality setting from the camera - it will be too large.
For the web, 72 dpi or ppi (dots per inch - pixels per inch) is plenty - but for printing, 300 or more is usually needed to get a decent print. Basically 300 crams much more information into every inch which is NOT needed on the web.
Therefore if you change the resolution down it should work.
just change the width of the image to say 350 or 400 pixels max and that should do it.
or reduce the file size by a percentage.
or save the image as a lower quality jpeg.
Personally when I upload files I will resize the image to 350 pixels in width. By changing the width the height AUTOMATICALLY changes. Then I will choose a jpeg setting of 30 or 40. This gives me a beautiful picture for the web that is rarely over 40k.
make sure though that when you are changing 1 value - that the other values are changing as well. So when you change the resolution - the width and height of the image are changing as well. Or if you are changing the width (like I do) that the height is changing as well. There SHOULD be a check box (maybe it's called resample image - or constrain porportions) to do this.
The fuzziness you speak of is almost surely due to the fact the other values are not changing when you are changing 1 of the elements.
I hope that helps.
If others can add to this to make it more clear, please do.