This happens because of anti-aliasing; pixels of lighter colors are generated along edges in order to make it look smooth. The paint bucket doesn't fill those other colors, just the empty pixels.

There are so many ways to do this! Since you already discovered the paint bucket, here is a simple way using the same tool:

Before you click to fill with the bucket, while it's selected, locate in the top menu a place named "Tolerance". Increase the value. Too little won't make a difference, too much will fill the whole screen. You should have that option if you're on CS5+, not sure about earlier versions.

How to fill a shape in photoshop and avoid white lines
What kind of non-technical training course do you suggest for a programmer? Example could be public speaking course, presentation skill, English, business writing, or anything not related to programming or software engineering itself.
