To be honest, I am a bit surprise that Pereith is the only one talking about binding mouse buttons to character abilities. This is the right approach. For most people, that will look something like the following:
Left hand rooted to the w, a, s, d location for basic movement: forward, back, strafe left, strafe right and jump.
Right hand rooted to the mouse for target selection and turning and to click buttons that activate abilities (e.g. arcane shot, charge, fear, or whatever).
Left hand can also hit shift and alt keys, which triples the number of abilities you can bind to your mouse clicks. If you have clever agile fingers and need more keys to bind, your left hand can also reach nearby keys without leaving the rooted wasd location including q, e, r, f, and tab.
For those of you clicking keyboard buttons such as 1 - 0 and/or F1 - F12 to activate abilities, you have to give up your rooted position on either your right hand or your left hand, which takes time and increases errors.
On the other hand, if you are moving the cursor to click buttons on your onscreen toolbars, this also takes extra time and increases errors.
All else being equal, a mouse button clicker will consistently beat a keyboard key clicker or a toolbar button clicker.