What shaders effectively allow you to do is to override the default rendering settings for 3D environments from your video card. This will allow you to make a number of changes to how things appear on screen. There are vast resources of information available concerning shaders online (GameDev have a bunch - FlipCode - nVidia and ATI - MSDN...). Still though, for DirectX 8 shaders your absolute best all in one resource is "ShaderX." Very good book, which covers almost everything you can think of. For those who are looking ahead, you might also want to check out "DirectX 9 - Programmable Graphics Pipeline." The first half of the book deals with general shaders and DirectX 8 style shaders, while the second half gets into the DirectX 9 style shaders (they effectively use two different languages for those who are on long term projects....).
What the bump mapping will actually do is just adjust the lighting. It is still the same low polygon figures (which is why you can not use a really low polygon figure with bump mapping and expect it to look great). The models outline looks exactly as it would with no bump mapping at all. Bump Maps are what are known as pixel shaders, in they change the textures appearance. There are also other things called vertex shaders which will alter the model itself.