Cursory reading about both tools leads me to believe they do similar things: manage build tasks which means they do operations that support taking source inputs and ultimately producing runnable outputs.
As of the .NET Framework 2.0 MSBuild.exe was included with the Framework and can be invoked without Visual Studio.
Are there benefits of NAnt over MSBuild, or are they just two competing tools that have different relevancy?
If you can use MSBuild 4.0 (which added property functions and inline tasks, last things that were available in NAnt but not in MSBuild) - none. Microsoft has finally caught up to a project that has been dormant since 2007...
NAnt was created because, between 2001 (first public .Net beta) and 2005 (MSBuild first release), there was no official build tool available. It filled an important niche, and did it well. However, now it's probably best to stick to the Microsoft tool - you get support, Visual Studio integration, and it even runs on Mono.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With