There are plenty of other reasons:
- Growing your own talent. Sometimes it's easier to hire an entry level person and train them in the technologies and tasks you require.
- It takes less time to find an entry level person than a Sr. person.
- Replenish your work force. As many developers move up in a company, they often times don't write as much code. Someone needs to be available to fill this gap.
- Time savers. Even if a Sr. dev is still writing code, chances are they don't have time to do everything. They need to delegate, thus they need someone to delegate to.