Pro: Use annotations and marker interfaces -> better refactoring support.
Pro: JUnit is more popular (I think) than TestNG, so toolsupport may be better.
Con: Designed for unit tests only. E.g. Kent Beck insists that there should be no dependency between tests. So not supported to run setup once for a group of tests.
TestNG 6.8
Pro: Has had groups for a very long time.
Pro: JigZaw has been implemented using TestNG many times.
Con: Use text strings for groups.
Pro: Designed for more than unit tests.
DataProvider functionality
Explicit support for letting a group of tests depend on the same setup.