17 on mine (though I think the mouse wheel has a rocker function as well that might arguably bring it to 19).
I generally only use four or five of them, and I’ve got a bunch of the 12 side buttons disabled to avoid accidental thumb presses. The only thing I really use the “extras” for regularly is one of the side buttons that I mapped to the “interact” keybind in an MMO. (It was awkwardly placed on the keyboard, and I didn’t have a good place to remap it near the WASD keys.) However, when I injured my left hand, I made a custom map for the mouse that transferred all the movement and power activations for that game to the mouse. It was a little clumsy, and I wouldn’t want to do it long-term, but I was able to play with just my right hand while my left healed. (I used the standard MB1+MB2 movement, rather than map WASD, though.)
As to novel uses, the best I can think of have already been hit on: movement modification and view control.
Using the extra buttons for z-axis movement in 3D maps could be good, but isn’t really any better than keyboard mapping. However, movement speeds and stances in current games tend to be very binary: toggle or hold a key to sprint/crouch/whatever. A game could use the extra buttons to handle additional movement stances. A first-person sneaker could make good use of several different slow walks, crouches, and crawls. A first-person shooter could have a cover-to-cover movement mode that shifts the “forward” key to “move toward nearest cover waypoint”, a roll-to-cover mode, and so forth.
buckgully mentions using the side buttons for view control in Blender, but there are games where it could be useful as well. I haven’t played it yet, but I’ve seen that Oxygen Not Included has numerous informational overlay views (oxygen concentration, thermal, even decor); having keys to bring those up momentarily would likely streamline play. It would take more than that to be transformative, though–let’s face it, keyboard + mouse is already pretty damn versatile.
Here’s a hypothetical game idea that’s been in the back of my head, very loosely based on Kat Richardson’s Greywalker novels (so there may be some spoilers in this, if anyone cares):
The protagonist has a number of odd abilities, but the most notable one for the current discussion is the ability to access “slices” of time. It’s not exactly time travel, and it’s not exactly psychometry, but it includes elements of both. She can look at a place and see pieces of its history edge-on, like pages in a book, or layers in a rock strata; then she can pick a slice and interact with it. She can’t change the past, but she operates in the context of the time she’s chosen. For a trivial example: she needs to get through a locked door, so she flicks through the past and finds a time when the door was open, goes into that time, and walks through the open door. (From an observer’s perspective, she would have gone ghostly and phased through a closed door.)
This is potentially a pretty complex mechanic. Using extra keys to switch between her different temporal states, or modifying mousewheel function to scroll through different slices of time, would likely make it using it more intuitive.