The main advantage of MSBuild is that you don’t need to have Visual Studio installed.
One limitation of MSBuild is that it does not support building Visual Studio setup projects (.vdproj).
(You can work around this by defining an exec task which calls devenv, but then you still need Visual Studio.)