The Bitcoin system is in essence a decentralized democracy. If the majority of nodes applies a new rule, then the remaining minority can either cave in and also apply this rule or they have to fork away from the main blockchain.
So if the developers come out with a new update that is disliked by most of the community, it won't be installed and those nodes that do install it will be incompatible with the majority. This creates a massive incentive for updates that are not backwards compatible to either be accepted by everyone or by noone.
Since many Bitcoin users are rather conservative about changes to the protocol, updates to the software that are not backwards compatible are made very rarely.
Thanks for your reply. Yes all nodes will potentially "vote" for changes and the developers have been doing well so far. However, I am asking how everything is decided before putting into the list. Even people on nodes can decide whether they like it, they are mainly miners, what if an idea happen to sound better but against all rigs holders now?