For our wedding we gave out personalized wedding CDs. My husband really enjoys music, so he made a playlist of some special songs, and others that just symbolized great music to us. Then we compiled the song files and burned them to CDs on our computer. Then we found a beautiful picture of a tulip online and designed a label for the CD using a software kit you can purchase anywhere (I think we got it from Target). We got white CD envelopes that had a clear window so you could see the CD label through it. Then I typed up the playlist and a Thank You note and printed it on a label for the outside of the envelope. Overall, it was a very economical favor to give out, no ordering required. If you have a lot of guests, you'll want to enlist help to make them, since it is a little tedious. Two years later we are still getting compliments from our guests at how unique and fun they were.
Another idea, which my cousin recently did, is to have a candy "bar". Get a bunch of varying size/shape glass jars and bowls and display lots of different types of candy and treats. Throughout the night guests can come up and fill up a bag with their favorites. Very neat and little work required to pull it off. Just need someone to make sure candy gets replenished when needed.
A third idea I love, is the photo holder coasters. Personally, I wouldn't include a photo but a favorite quote, something wedding related. You can pretty much order these from anywhere and just personalize them yourself.
My last idea to share is tree saplings. You can get them from the Arbor Society. Super cute idea for a "green" wedding favor. The only reason I ended up not going with this was that many of my guests were from out of town and I did not have a backup plan for where to plant of bunch of trees if they were not taken home.
Hope this helps!