My thoughts and some digging of google -
1. Because people have different needs and different comfort.
2. To handle legacy scripts which are many a times not maintained.
3. size / performance issues with different need and different shells.
4. Licensing reasons. AT&T ksh was proprietary software until around 2000 or so. This is largely what gave rise to all the ksh-like clones such as Zsh and Bash.
But my take if only point 1.