IronVelocity is an implementation of the Velocity Templating Language (VTL) for .Net.
You can find out more details on Velocity (including the syntax) at https://velocity.apache.org/engine/releases/velocity-1.5/user-guide.html
Razor is a very good markup language, with very good tooling in Visual Studio. This makes it a very good language for developers, however it can be a bit complicated if you want templates to be modifyable by non developers. A good example of where Velocity would be more suitable than Razor is a multi-tenant web application, in which you allow applicaiton owners to modify html fragments. Your users may have some technical expertiese without being developers, in which case the simpler Velocity syntax is easier to understand, and less error prone. Additional Velocity only allows code to be executed on the objects passed in to the template, whereas Razor would allow any arbitary .net code to be executed.
NVelocity is another implementation of Velocity for .Net. IronVelocity stil uses NVelocity for the parsing of the template, but differs in how it executes templates. The major differences are as follows: