It's tough - maybe impossible - for engines to really accurately simulate lower level play. You usually get one of two outcomes : A) an opponent who plays 10 moves like God and then drops a rook out of thin air or B) essentially random moves.
Beginners have little use or value from the deep analysis engines can provide as well. Once they're stronger then they benefit more but until then it's just an opponent who stomps you every game and you can't even understand it when it tries to tell you why.
The most effective tools for beginning players will be playing other players (online or OTB) who are around the same level or slightly stronger and daily tactics training via tactical puzzles see: http://chesstempo.com, http://chess24.com and a host of others.
As well, the St. Louis Chess Club has a ton of great videos with GMs Seirawan, Finegold, Akobian, and others, starting at the beginner range and going up. I think beginners can get a lot of value out of their lectures.
Stockfish is fantastic for analyzing your games to find where to improve. Don't use it until you've gone over the game first, though. You want to develop your own ability to recognize mistakes and then use the engine to check your work.
It's just like using a calculator while learning math: do the work first and then check for mistakes with the calculator.
You can set the skill level. As a complete chess novice, I can do okay at very low difficulty. A level or two above the minimum and it completely wrecks me though.
For anyone interested in playing with it yourself, you can use python-chess (https://pypi.python.org/pypi/python-chess) to set up / play against the engine (or make engines play against each other) without having to directly use the UCI commands.
edit: It looks like there are quite a few other front-ends that will work with Stockfish. Fritz and PyChess look popular. I just used python-chess for a project a while ago.
UCI chess engines typically defer opening book to the GUI consuming it. So if you were using Stockfish with Arena or Tarrasch, that would handle the opening book. Stockfish will start calculating when it is out of the book. This is all configurable, of course.
I had no idea openings were so fixed from the computers point of view. Does this mean that in order to become a better player it is a must to learn all the openings as a book?
Up to an ELO rating at 2000 (and even beyond that) there is no need to memorize openings. It is much more important to learn the basic opening and development ideas. Even if you play against non-masters who have memorized some openings you can easily crunch them by the basic ideas. It takes master level to go from memorize to actually understand how a given opening works.
Even in professional chess, openings are almost "by the book". There are quite a few main lines of openings and play is almost always along one of them, or variants thereof.
Get PCID vs SCID and have it analyze your games. Generally speaking, beginners make obvious mistakes, and Stockfish will automatically find those mistakes you make.
Every now and then, you miss an obscure "Checkmate in 12-moves" that Stockfish will see... just ignore those that are too difficult for you to visualize yourself. Otherwise, its excellent to have a 3300+ Elo player double-checking your moves after each game.
There are substantial differences in how people and computers play chess, at least with current algorithms (stockfish included.) If you want to learn to play chess against people, computer opponents can help in your training, over-the-board games are an absolute must as well.