Why burn this book and run away screaming?
Of course, no game development tool is perfect, and in certain areas, other tools have the advantage over Unity. Here are a few places where Unity doesn't stack up against its rivals:
Learning Curve: Even with the abundance of training available, Unity largely requires developers to learn how to program and to deal with complex concepts such as shaders and the third dimension. If you've come to Unity after hearing "it makes game development simple! Anyone can do it!", you've been fed a hot bowl full of filthy lies.
Cost: Bang for buck notwithstanding, when you get into a situation where you're buying pro versions of Unity for an entire development team, and the Unity Asset Server on top of that, as well as copies of the deployment add-ons, the cost begins to add up. I may have knocked XCode in the previous section, but it does have the advantage of being free.
Purity: If you're coming from a "pure" programming background, some of the ways in which you solve different problems in Unity may seem outright sacrilegious to you. If the thought of working within a GUI and dragging things on top of other things to create reflexive relationships gives you the willies, you may not dig the way Unity gets things done.