Why use serialization/kryo at all?

Hi all,
i’m just about to implement multiplayer into my game and i have a hard time understanding the benefit of serialization / kryo which is recommended everywhere.
I’ve read several threads and from my understanding you serialize the entire java object and send it over the network.
But that just sounds like a HUGE waste of bandwidth. Don’t most games care about every little byte of bandwidth in case you want to support player hosted games?

What’s the benefit versus just sending everything as int/byte/etc. via DataOutputStream/Socket? Sure you need a custom write method for every class you want to send but that’s not much coding effort at all and doesn’t seem to justify the bandwidth overhead.

Do i miss something?