Well, and as pointed out elsewhere the signal protocol only covers messages in transit. How keys are managed, etc. also strongly affect security. In the signal app, the phones own the keys rather than another entity (hence why messages get rekeyed on whatsapp and why you're easily able to load messages on a new phone).
Reread my comment. If you have additional code to support things like ads, you add attack surface for people to find a way to inject code execution in the context of the WhatsApp process, which has access to the decrypted messages.
Does WhatsApp have ads?
It doesn't. At first, it used an SMS IIRC that charged you a dollar every month or year, not sure. Then they scrapped that and they are now basing the income on WhatsApp for Business, although I don't know if they are charging yet. But as operating costs were actually low, they mostly ran off of papa Facebook's dollars.