Shadin' ain't no easy thing.
Sums it up pretty well. The only reason i'm not utterly terrible at it is because it was the one thing i was beaten over the head with the most during my early spriting days (i used PILLOW SHADING), and then i got super tired of hearing people whine about it so i decided to google how2shadethings and then it kinda went from there. I've since acquired a handy method for determining the rough location of the shadows, and for the most part, you don't NEED to be super accurate location. In as few words as i can make it, it USUALLY involves making a cross section through the center of the 3D shape of the object you're drawing WHICH IS perpendicular to the incoming light (and, for the purpose of single objects, extends infinitely to all sides), and everything on the other side of this cross section is in shadow. This is mostly for rounded objects though, for more angular/complex objects, you have to imagine the (sun)light as a plane of light being projected towards the object, lighting up everything that it hits. This can obviously be made easier by liberal application of construction sketches.
As for specular reflections, i mostly wing those, but there's a neat way to do it for spheres and cylinders: Halfway in between the angle of the incoming light and the surface angle of the cross section, extend a line to the surface of the object. This is where the specular reflection will be centered. Beyond that though, practicing loads will help you get a feel for it. :v (also terrible non-pixel example that shows only the bear necessities without even being a bear