1. If you log in automatically, a bug in some versions of OS X will cause the desktop picture to revert to the default image at every startup. The only known workaround is to disable automatic login in the Users & Groups preference pane.
2. If the selected Desktop picture is stored in an iPhoto library on an external drive, export it from iPhoto and move it to a folder on the startup volume. (Credit for this solution to ASC member janay.)
3. If the desktop picture always reverts to a plain blue background, one of your login items may be causing the problem. The "TeamViewer" application can have this effect; see this thread. If it's not that in your case, rule out all other third-party login items as possible causes.
4. If you have a MacBook Pro with automatic graphics switching, disable it temporarily in the Energy Saver preference pane, set the Desktop picture, then restart the computer and re-enable graphics switching.
5. If none of the above applies to you, proceed as follows.
Back up all data.
In the Finder, hold down the option key and select
Go ▹ Library
from the menu bar. From the Library folder, delete the following item, if it exists:
Caches/com.apple.systempreferences
and move the following items to the Desktop, if they exist:
Application Support/Dock/desktoppicture.db
Preferences/com.apple.desktop.plist
Launch System Preferences and test. If you still have the issue, put the items you moved to the Desktop back where they came from and post again. Otherwise, delete the items.