The main reasons for replacing groff were:
1. Groff is buggy
2. Groff is slow to compile & execute
3. Groff is not BSD licensed
mandoc has none of these problems. If you want a "generic" roff system, groff is available as a package.
According to http://mdocml.bsd.lv/
> groff amounts to over 5 MB of source code, most of which is C++ and all of which is GPL. It runs slowly, produces uncertain output, and varies in operation from system to system. mdocml strives to fix this (respectively small, C, ISC-licensed, fast and regular).