1) You can write your app once, without regard to aggregator/provider, since the API is fixed in the SMPP standard, vs different aggregator web services API's. Change providers, you need to change your application with web service API’s.
2) Most efficient and scalable solution (direct SMPP point-to-point protocol used by wireless carriers themselves in inter-carrier SMS links). Nothing will get messages to devices from your app, or get messages FROM devices to your app faster than a true SMPP account.
3) Most secure solution, since it's a point-to-point protocol, typically secured inside a dedicated, encrypted VPN tunnel directly with the aggregator. They, in turn, maintain secure and direct point-to-point connections directly with wireless provider datacenters.
4) Gateway apps can easily be reused with any Gateway type without re-writing code (ie SMS app can be accessed via IM with little/no code changes).
5) Extreme power, reliability and flexibility: you get direct access and full control over all aspects of SMS, including all commands and optional parameters, message rate throttling, auto-rebind behavior, message I/O tracking (for reporting/cost control), etc, etc. All part of the SMPP standard.
For more on the CF7 SMPP Gateway (which is AT&T Wireless carrier-grade certified, BTW!), check out Chapters 42-44 in the CF7 Developers Guide.
Of course, SMPP accounts are not typically cheap, but you can find reasonably-priced accounts if you shop around. In the US/Canada, though, to get cross-carrier functionality you’ll want a US Short Code. More on that and other SMPP hook-up options here: https://dcooper.org/?mode=entry&entry=FC5CF329-4E22-1671-58B0869C57B5ABCA