As always, each protocol/data format has it's place. You need to maximize the amount of data you send in each packet? Then protobuf is better than JSON. Need to support large amount of clients without any fuzz? Then JSON is better. Wanna pass around data you don't know the schema of? JSON again.
Contexts matters, there is no silver bullets, everything has trade offs and so on, and so on.
Contexts matters, there is no silver bullets, everything has trade offs and so on, and so on.