The techniques described in Moonwalking with Einstein require serious time investment up front, but allow you to cultivate a memory that rivals that of people with savantism (who incidentally tend to use the same general techniques but do so naturally). Spaced repetition doesn't produce as amazing results but doesn't require initial time investment and is a far more efficient method of memorizing data than conventional approaches. The only downside to spaced repetition is that most software implementations of it require daily review and don't work optimally if you miss a day (recent versions of the proprietary SuperMemo, Piotr Wozniak's own software, are supposed to be much more forgiving), but you don't need to invest much time each day.
So how exactly do these two memory techniques work? Spaced repetition is predicated on the notion that the longer you wait before reviewing data, the longer that information will stick in your head. That is, as long as you are able to recall the data when you review it. If you wait too long, you'll completely forget the data. So there exists an optimal length of time to wait before reviewing a piece of data, and as with the American game show The Price is Right, you can approach that optimal value by increasing your estimate, but the moment your estimate exceeds that optimal value, it becomes less useful than all possible underestimates. The goal of spaced repetition systems (SRS), such as the software programs SuperMemo, Mnemosyne, and Anki, is to adapt to the user's mind and figure out this optimal interval to wait before showing a flash card again, as opposed to conventional flash card systems that review each card every day. Not only does spaced repetition greatly increase the value of each time you review a card by committing it further into your long term memory, but it also greatly decreases the number of flash cards you need to review each day.
The art of memory (aka method of loci), which is the technique described in Moonwalking with Einstein, works by taking advantage of the fact that our visual and spacial memory is far better than our memory for arbitrary facts. The gist of the technique is to convert data that you want to memorize into vivid images (the funnier or cruder the better) and arrange those images at discrete points in a predefined order along a spacial layout you know well (the layout is called a "memory palace", but it can be your home, school, office, neighborhood, favorite video game map, etc.). To recall the data, all you have to do is retrace your steps and remind yourself what each image means. Combining this technique with spaced repetition, you can commit thousands of pieces of data to a memory palace, wait a few hours to retrace your steps to recall the information, retrace your steps again the next day, then again a few days later, then again a week later, then a month later, etc. In this way, about two or three hours distributed over 5 or so weeks (maybe with one more review the next year) will let you memorize thousands of pieces of data permanently. The stuff you can do with your mind once you know more efficient memory techniques is truly amazing.