There is an incentive for real-time audio/video/gaming applications, though: latency.
And many such applications do use P2P.
And many such applications do use P2P.
Doing a direct shot from client to client would be some faster, but not much. Meanwhile there are usually optimizations that are better you could do in the same amount of time.
Yes, if User A, User B, and the server are in a hub city, such as Dallas, then the difference could be small in either direction.
But if user A is in San Francisco, and user B is in San Diego... then routing through the server in Dallas is almost always going to be significantly slower.
So if latency is a concern, and you want to route through your server, you need to now cover the network with servers. That's a big deal.