Haha, no, they just calculate long lines. Sure they're programed to value things like king safety and space, but other times a loose king doesn't matter and the space doesn't matter and the only thing it's liking is forcing variations... no matter how improbable those moves are for a human to find.
And it never tells you why. You have to look at the long line of moves it suggests and figure it out for yourself... and if you're a weaker player you'll likely come up with the wrong reason in any case AND when you follow it's main line, it sometimes changes it's mind only a few moves in e.g. "oh, now the evaluation is 0.20"
So sometimes its evaluation is correct, but not in the practical sense. Sometimes its evaluation is limited by how far it will search, and changes quickly after you put moves on the board. And sometimes its evaluation is actually just wrong. That's when ICCF people beat each other and engines lose to other engine (or even the engine losing it itself).
To summarize... engines are good at finding tactical mistakes and justifying certain moves you may not have thought possible. But they're not so good at teaching you anything, and sometimes they're even completely wrong.
I have Deep Fritz 14 and I wonder about it's position evauation. For instance, in the infinite analysis, it says the evaluation is +0,5, that is white has a better position corresponding to a half pawn. Is there a way to see the basis for that? I mean, is it because "white has a space advantage" or "black has a weak field at d5"? And is there any documentation about how the Fritz engine evaluate positions?