-Two-way binding in all cases is slow
-Directives are unecessarily hard to write
-Angular's default DI model breaks on alpha conversion, the basis of every JS minifier ever. All the fixes are cumbersome.
-The system is poorly documented, making it hard for a dev to get started.
-The system is overly complex, slow, and hard to debug ($digest already in progress, anyone?).
-But most importantly, it implements stuff that has no buisiness being in an SPA web framework. It re-implements scoping, modules, part of JQuery, DI, and a programming language, complete with parser.
React, however, did the responsible thing, and stuck to a specific domain. Even if nothing else React did was good (and I have some arguments there), this is a major win over Angular.