Every relationship is different, with different power structures and methods of communication. In the same way, each blockchain community defines the relationship between developers and miners differently, in a way that works best for them. In some, developers come up with the code but miners hold the bulk of the decision-making power. In others, developers largely shape the protocol's evolution, and miners who reject those changes are mostly dismissed.
Of course, there are also blockchains where miners and developers operate almost completely in sync, ruled over by the same central entity. However, there's nothing particularly new or interesting about centralized decision making: I am more interested in how decentralized networks handle authority, power, and consensus building.
Bitcoin Cash and Ethereum do well to exemplify the differing priorities at the heart of two divergent decentralized governance models.
Bitcoin Cash's primary purpose is to function as a currency and store of value. Thus, its priorities are a high level of security, fast transaction times, and price. Development, therefore, is mostly limited to those concerns. Cash is king for Bitcoin Cash, and miners put new currency into circulation. Without miners, Bitcoin Cash is nothing. It follows that they'd have a lot of power, and they do. It's also the case that because the scope of development within Bitcoin Cash is limited to a fairly small number of concerns, it is possible for a single client to write protocol changes addressing them, and so they do.
Take, for example, the ongoing conflict around the upcoming Bitcoin Cash hard fork. It all started when Bitcoin ABC, the client operating on two-thirds of Bitcoin Cash nodes, published planned changes to BCH's consensus protocol.
Craig Wright, longtime adversary of Bitcoin ABC's Amaury Séchet, didn't like those changes. As "chief scientist" for nChain, he reacted by proposing a different set of changes.
Instead of communication, teamwork, and all those nice things, the two clients are forcing the miners to choose sides in the debate. Still others in the BTC community are speaking up with other proposals. The whole thing is pretty chaotic, but changes in this matter can be pushed through pretty quickly. This kind of power structure is also well-aligned with the capitalist and libertarian ideologies shared by many in the community: It's sink or swim and the glorious power of the invisible hand. Niche communities of various sorts can just fork the blockchain and have their own space to do their own thing, no coordination needed – just let the market decide.
Ethereum, on the other hand, is supposed to become a world computer, capable of robust flexibility. Ether must be worth something so that miners are incentivized to participate and therefore maintain decentralized security. In other words, creating money is not Ethereum's sole endeavor, only a means to an end. Effective coordination across a massive decentralized network of individuals and groups developing complex and various initiatives is crucial to Ethereum's success. It follows that developers, as a group, would have a lot of power, and they do. It also follows that the community must be somewhat more centrist, and it is.
Consider the upcoming Constantinople hard fork. This is a long-anticipated, heavily coordinated fork in a series of strategic and heavily coordinated forks, all specifically planned to move toward making Ethereum fully scalable as a world computer. Developers working across various Dapps, clients, and independent groups, fellowships, councils, etc, come together to synchronize efforts to ensure all changes work in tandem and toward the network's big picture vision.
Developers submit Ethereum Improvement Proposals, and the community discusses (or sometimes mostly ignores) them. Clients weigh in, advocacy groups like the Ethereum Magicians decide if they'll lend their support, miners discuss how this will affect their profitability, and redditors everywhere discuss. There's a whole structured system to how changes are proposed, commented on, altered, tested, and eventually implemented.
Even now, as Constantinople approaches and the community has yet to decide on which EIP regarding block rewards should be included, it does not appear that there is any reason to believe that miners will reject the changes, whatever they may be. The community of coders is too well-unified in its efforts, so miners' only option is to accept the changes or stop mining on the Ethereum blockchain altogether. Of course, it must be said that Ethereum's miners have forked the chain in two over ideological differences once before, creating Ethereum Classic. However, at this time there appears to be no such rift.
Of course, there are drawbacks to this. Many inside and out of the community are frustrated and concerned by the slow-moving nature of Ethereum's evolution toward scalability. Miners are worried about profits. Investors doubt the blockchain's ability to succeed. There is a risk in any massive decentralized project of it becoming centralized, or overly reliant on a small number of developers.
In the end, it comes down to what you really want out of your blockchain, and everyone must decide that for themselves, and develop the kind of communication and conflict resolution appropriate to that purpose.