I've used this one for years.
dead link
It's old, but free and does what I'd like it to.
You can set it up to change the desktop, at startup, once a day, or at certain time intervals.
It supports jpg, gif, png, and bmp's, you can also tile, center, resize to full screen.
You can add full directories so it can rotate thru hundreds of images.