A contract covers one individual piece of work. Sometimes it may cover a series of related works, as in a science fiction trilogy or a 7 book historical novelization. This is reasonable.
A contract should never be for a period of time, as in everything a particular author writes within a specified number of years. This is not reasonable.
Nor should a contract be for everything an author writes in a specific genre or market. This is also unreasonable.
The reason a publisher may try include rights to future works in a contract is that new authors don't make much profit for a publisher. As more novels come out, an author gains a broader reader base. Later novels have a better cost/return ratio for the publisher. A publisher is trying to protect their original investment by insuring they can reap the benefits of the broader reader base later on.
Generally, the right to first refusal of the next work (we'll talk more about this in a future post) and good author relations will take care of that. The future is just too uncertain for either party to be locked into a time-based contract. If either party determines that the relationship is just not working for them, they should be able to discontinue it with minimal effort (more on that later too).
However, consider this when, as an established author, you are offered an enticing deal by the competition. Your initial publisher took a chance on you. They risked their capital, and their company to some extent, on you--an unknown. That risk should garner some element of respect and loyalty. If every new author jumped ship to a bigger publisher after they were established, the publishers willing to take those initial risks would soon be out of business.
The reasonableness of a one work contract offered by the publisher needs to be balanced by reasonable consideration when the author becomes popular and other publishers attempt to woo them away in the future.