As pointed in other answers, it's important that there's enough nodes. But that doesn't mean that everyone must run one, or that there needs to be a direct incentive. I believe there will always be enough nodes. To understand why, we must first understand what nodes are for.
Nodes are what guarantees certainty of a cryptocurrency's properties. They check that each transaction and each block is built according to commonly aggreed upon rules. These rules could be translated into natural language, for example:
- A transaction is valid only if it is correctly signed by a ring of minimum 3 public keys
- A transaction is valid only if the key image is unique
- A transaction is valid only if the sum of inputs is equal to the sum of outputs
- A block is valid only if it's chained to the previous one
- A block gives out a block reward according to [this] formula and it's the only way new money can be created
- A block is valid only if a valid PoW is submitted
- In case there are multiple different valid blocks [or chains of blocks] competing for the same slot, the one with the most cumulative PoW will be considered valid
Nodes are able to independently enforce all properties other than chronological ordering of transactions. This job is delegated to miners, and for it they are rewarded.
Similarly, rules of physics define properties of gold. Miners extract it and sell it, but they can't change the rules. They can only choose whether to mine gold or something else.
The importance of nodes is that they define the currency. A set of nodes recognizing a same set of rules makes a cryptocurrency.
The only way to know that you're receiving a real monero and not some forged one (forgero?) is to check whether the rules were followed from the beginning until now. You can only do this if you're a node. Otherwise, you have to delegate this task to some node you trust.
So, being able to check whether or not a given monero is real or not is the main benefit of running a node. Anyone dealing with any non-trivial amount is highly incentivized to run a node, otherwise he risks being cheated for that same amount, as he could unknowingly be accepting something else while thinking he's dealing with monero.
Anyone running a service, like an exhcange, wallet provider, pool, or a cryptocurrency bank (if we ever see those) must also run a node because the stake is bigger then just your own money.
- Imagine an exhange trusting an external node and foolishly accepting some forgero, while crediting it to user's accounts as monero and letting them sell it as if it was, in fact, monero.
- Imagine a wallet provider making people believe they're holding monero, while they're actually holding something else which they can't transfer to an exchange
- Imagine a pool making all miners mine something else and waste their power mining something fake, which they have no place to sell at
- Imagine a bank holding lead painted with gold instead of actual gold
The only way to be absolutely sure what you're dealing with is to run a node. As it is in the nature of free economy to allow for competing services, any one of those will need to run a node if they want to survive. This alone should ensure more than enough of those.