When it's not something you want, it's to "Placate people". But if it was something you wanted, i'm sure it would be a welcome feature!
And it's not that complicated, just different.
Want a "traditional" list of interfaces? `ip addr`
Want to list running interfaces? `ip link ls up`
Want to set a device up/down? `ip link set dev {DEVICE} {up|down}`
Quick question! How do you set the MTU length in a legacy REHL system? Because with ip it's just `ip link set mtu 9000 dev eth0`!
Yeah, its new and will require some learning, but it's not inherently bad...
And talking about seasoned kernel devs, name one time that there wasn't a minority of kernel devs bitching about a new feature! Every change is going to make some people worse off.
As for devs, Torvalds didn't have much love for the ip command last time i looked into things. And a year or so back i ran into a Ts'o posting about his dislike for polkit (a close cousin of systemd).
compare something simple as enabling a network card using ifconfig vs using ip, as you can easily tell the difference. You end up 3 layers deep before you can even enter the card id you want to do anything with!
When seasoned kernel devs don't want to touch a tool, warning lights should come on.