"better" is a term of opinion. I'm sure there are those who would passionately say "bash is the be all and end all" while others would say the same about zsh and ksh. My experience has been that most people that express strong opinions in favor of one thing over another when they are basically very similar is that the one they are "for" is the one they started with.
For most purposes ksh and bash can do the same job but that bash has more options. (There was a post on this once where someone noted something he could do in ksh easier than bash but I forget what it was.) Both beat the hell out of the original Bourne shell (sh) but in some systems like HP-UX sh is actually the Posix shell which is much like ksh/bash.
I worked for years in UNIX on ksh and initially resisted the move to bash on Linux but that was merely because of my preference for vi style history access - once I realized I could get that in bash with "set -o vi" I quit have a preference. If I'm on UNIX I use ksh (or Posix shell). If I'm on Linux I use bash.
The correct answer is to use the right tool for the job. There are situations where using ksh/bash/zsh isn't right - you need to use Perl.