As a rule, I do my dadoes on the table saw or the radial arm saw.
But a useful technique in association with whatever method you use:
Often I am cutting dadoes on uprights to hold a shelf in place, and often these uprights are 12” to 20” wide.
To ensure that the dadoes on the right hand side, matches up exactly with the dadoes on the left hand side, I rip the boards after cutting the dadoes.
So if my shelves are 12” deep, I will make a blank about 24-1/4” wide. I then cut the dadoes across the entire board and finally I rip the boards to the 12” width that is required.
That absolutely guarantees that the shelves will be level once assembled, and reduces the amount of work required at the same time.
This is probably done by most people, but since I have never seen it written about, I thought this might be helpful.