I am aware there are other NAnt and MSBuild related questions on Stack Overflow, but I could not find a direct comparison between the two and so here is the question.
YDeliver by Manoj is a build framework built on top of PSake. It has a rich set of library functions, ability to define workflows, and we have used it to deliver over six enterprise projects to production.
Use it in conjunction with TeamCity, CruiseControl, or anything that can run PowerShell.
KISS = Use MSBuild.
Why add something else into the mix when you have something that will do a reasonable job out of the box? When MSBuild arrived, NAnt died. And Mono will have an MSBuild implementation, (xbuild).
DRY = Use MSBuild.
Ask yourself what do you want out of a build system? I want a build system that is also used by my IDE rather than the maintaining two different configurations.
Personally, I'd love to hear some real arguments for NAnt, because I just can't think of any that really hold water.