While we can explore what, the bottom line is that Windows will do this for a long list of reasons. Look for a free tool http://www.download.com/Icon-Restore/3000-2347_4-10163499.html?tag=mncol&cdlPid=10163500
Since the reasons are widely discussed I'll stop here with a common workaround.
I am running Windows XP 5.1, service pac 3. There are currently quite a few icons on my desktop and I have them arrange according to my liking. When I left click the desktop and look under 'arrange icons by', the only item checked is 'show desktop icons'. Every now and then when I boot up my computer, the icons rearrange themselves. This does not happen on a consistent basis, and I do not ask to have the icons rearranged. What is causing this?