It has a direct mapping to and from JSON
It has a very compact format. The bulk of JSON, repeating every field name with every single record, is what makes JSON inefficient for high-volume usage.
It is very fast.
It has great bindings for a wide variety of programming languages so you can generate Java objects that make working with event data easier, but it does not require code generation so tools can be written generically for any data stream.
It has a rich, extensible schema language defined in pure JSON
It has the best notion of compatibility for evolving your data over time.
https://www.confluent.io/blog/avro-kafka-data/