While I believe an approach to chess training should have a broad scope, one of the most critical parts of any training program is to actually play the game. By now it is a well-known phenomenon that increased chess knowledge does not directly translate into improved performance at the board. This should not come as a surprise, since it is the same case for any sport - doing well in a practice setting indicates that you have the component skills, but the main event adds more dimensions and challenges, both in the game itself and psychologically.
What I look for in training games is to achieve a decent approximation of the tournament game experience. This means a slower time control - so no blitz, or anything really below 30 minutes per game with a five-second increment (G/30+5). I've been playing a series of games at G/60+5, roughly on a weekly basis, and that seems to work well; it provides me with enough time to think when needed, while not taking up an unduly large amount of available leisure time. The game quality as a result has been reasonable, with Annotated Game #7 the first to be fully analyzed.
As part of the training process, the only assistance I use during a game (with a computer opponent) is my openings database. This is because I am not concentrating on having opening lines memorized, but rather on finding effective methods of play in the opening. This also lets me investigate and add to my personal database whenever a new line is introduced by my opponent. In practice, the majority of deviations from my known openings are demonstrably inferior and mostly not in theory, so the opening book reference doesn't play a large part in the game. This does in fact replicate the tournament experience, when players often will come up with a move that is not necessarily losing, but not optimal either, and you have to start thinking on your own early on. Having an appropriately deep understanding of the opening should make this a welcome opportunity, rather than making you feel that you've been thrown off your game.
For a long time I avoided playing computer opponents, largely due to lack of motivation stemming from a feeling of artificiality. While that can't be completely avoided, I've been pleased with the playing features of Chessmaster: Grandmaster Edition (CM) and can derive some enjoyment from the games as well as using them for training purposes. For me, aesthetics does have a role in enjoyment of play, in addition to having a sense of opponent beyond a faceless computer program. CM has the best 3D boards that I've seen in chess software; in fact, it's the first chess program where I've used a 3D instead of a 2D board. Its collection of simulated opponents ("personalities") is somewhat corny, but they fill the role of being an adequate substitute for human opponents, given their variety of playing styles and strengths (which are also customizable). For training purposes, I play only rated games and then always play the suggested follow-on opponent, which is selected by the program based on your CM rating and your game performance. In the future, I may expand this to use the tournament feature or conduct matches against a particular personality that I find challenging.
While I believe playing human opposition is much preferable to computers, it is often very difficult to arrange for this either in person or over the Internet, simply due to the logistics of matching up time schedules for slower games. Another factor is the need to find someone roughly in your range of playing strength, so that both of you feel challenged and motivated. If one person is too strong for the other, then what you have are really lessons rather than games - good in their place, of course, but not fulfilling the same role.
(EDIT: See the Slow Chess League post for information on finding online games.)