Having worked my way up through every level, the biggest thing I've learned is "correct" is amassively subjective concept, based on value statements people at other levels don't see.
To take a deliberately simple case:
I would have declared a manager insane for buying Office365 licenses. After all, you can buy copies outright for less.
Except, as that manager, any savings I get are dwarfed by the pain in the ass of keeping licensing info. Some idiot loses the info and you're out far more than the difference when you have to re-buy. Or you don't re-buy and you're vulnerable to huge fines. Or you have someone dot every i and cross every t and you pay more for their salary than you save. Or Office365 keeps everyone licensed and demonstrably so.
Same goes for commenting.
Earlier in my career, commenting was slow. I could understand my code just fine without it. It was clearly readable after all. What idiot manager wants less productive code after I jumped through hoops?
Now I've paid the price of countless devs who write code no one else can follow. If watched countless more declare they have to rewrite everything because the previous guy who swore his code was readable wrote something the next guy swears is not. My perspective is completely different. I'd now rather each person codes a little slower so the company moves faster overall.
Who's right? Everyone has a good perspective but each is colored by the values that they weigh in.
I know my devs often think my calls are "wrong" because they assign different values to those I do... But I also know I've been put in the position exactly because I have the perspective I do. The best I can do is try to explain and help them understand, listening when they genuinely see something I've missed.