If you are using a vertical mouse, by choice or necessity, Evoluent's vertical mouse is by far the best I found. V4 (fourth version) even adds a few buttons. Those get some time getting used to, but once you train yourself not to click on them by accident, they're a welcome addition. This tutorial shows you how to customize what the buttons do, and I'll mention my setup as example. I'm using version 4, but the drivers (which you need) are the same for the last two mice.
The drivers automatically start with Windows, but you may or may not see the Evoluent icon in the system tray (notification area). If you do, double-click on it; otherwise, open the start menu and type "mouse". Then, click on the Evoluent Mouse Manager link under Programs (pick the first one if you see several).
Make sure that the Buttons tab is selected. The graphic at the top, reproduced in this screenshot, shows you where each button inbox is. If you didn't install the Evoluent drivers (you need them if you want to customize what each button does), here's each button default function: 1 = left click, 2 = middle click, 3 = right-click, 4 = mouse wheel (no surprise there), and 5 = browser back button. Without Evoluent drivers, at least on Windows 7/8/10, button 6 does nothing.
Click on the dropdown next to each button, and pick the action you want that mouse button to perform when clicked. Tip: you can have more than one mouse plugged into your PC, so you don't have to assign mouse-specific functions to your Evoluent if it's your secondary mouse. Notice that it includes other functionality, like hitting a function key (F1-F12), erasing text / deleting selected files, undo / redo, backspace, etc. The "Switch Application" (Alt-Tab replacement) does not work as you'd expect, so it's essentially useless.
Here are four programmable functions worth mentioning: if you choose "Keystroke Recording", you can have that mouse button perform a keyboard shortcut, with an optional click at the end! "Secondary Functions" lets you setup combinations of multiple mouse buttons pressed together. With "Launch Application", clicking the assigned mouse button opens a program! Clicking "Customize programming for different applications" at the bottom lets you customize what your mouse does based on what the current program is.