The short answer is because linux is really GNU/Linux. Only the kernel is linux but the base collection of utilities providing the Unix like environment is provided by GNU and the GNU shell is bash
As I said, that's the short answer ;)
edited to add some additional commentary...
Let me prefix by saying that I'm not a Unix historian, so I can only answer IMHO
A few points, first of all bash is the kitchen sink of shells, as emacs is to editors.
At the time bash was released there were no free ksh implementations, tcsh was a free csh replacement, but Stallman had a rant against csh for shell programming.
As an interactive shell bash had excellent history/command recall, along with the saving of history from session to session. It was a drop in replacement for sh, bsh, ksh for shell programming and made for a decent interactive shell.
Like a snowball rolling downhill, bash has gained momentum and size.
Yes, there are dozens of other shells; shells that are better suited for individual purpose or taste, but for a single all around shell bash does a decent job and has had a lot of eyes on it for over 20 years.
/bin/sh, which is default shell on 'normal' UNIX-es...bashis the best shell because i know it well and it's everywhere, does everything i need concisely and relatively easily, is easily readable, and can be somewhat understood by people without knowing how to create bash scripts. What else do you want from a shell? If you want lots of programming features, you're using a shell incorrectly.