ADP, Paychex and some other major payroll providers make quite a bit of money be using their relationships with companies to sell insurance and other benefits to their customers. Zenefits is basically an insurance broker, and therefore competing with ADP on this front (which is a lot of revenue for both companies).
Payroll really shouldn't suck, the basics of it should be pretty easy. The problem is that the vast majority of payroll providers are nearly impossible to work with.
Disclosure: I work at Employii, a company that makes payroll/hr software designed for integration with insurance brokers.