Of course there are cases when you must use initializers list, but generally I think that assignments are better.
These are not assignments.
Even if there is the "=" sign, what is actually performed are initializations. This is an important difference, assignments overwrite the object after its construction (instead of directly constructing it) -- which is unnecessary, and sometimes even impossible.
Faster and easier solution than initializers lists.
Why would that be faster?
And it's only easier as long as you have very trivial cases. Usually, at least some members depend on constructor parameters, so you have to mix both and look at two places to see how variables initialized. Furthermore, the initialization inside the class definition may introduce unneeded header dependencies in more complex examples. It also exposes implementation details to the header, requiring clients to recompile whenever the values are changed.
Even if C++11 has introduced many useful things, this is one of the debatable features (besides the "uniform" initialization, for example). It certainly has its use cases, but it's far from replacing existing features.