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?