1 - I get real-world interview practice, and that always helps me in future interviews. Many companies ask the same or similar questions, and the more I'll be ready for them being asked again. In addition, when I'm surprised by a question I'll research it thoroughly when I get home and won't be surprised by that question again.
2 - I get a bit of an inside peek in to how the companies I interview at work. That's a privilege not afforded to many outsiders, and how some of these companies (some of which are world class) can and has helped me at other companies.
3 - A company might bring me in to interview for one position, but after the interview might determine I'm better suited for another. If I didn't interview with them they'd never know.
4 - As I interview with people I get a chance to make a good impression on them, so even if they don't wind up hiring me for that position they might want me when a different position opens up (whether at that company or another company the people I interviewed with moved to).
5 - By letting companies make the first offer I myself get a good salary survey of the minimum what all the companies I interview with are willing to pay for someone with my qualifications in that position. Of course I try to do my own research ahead of time, but getting salary numbers without getting a job offer is not always possible or reliable.
6 - If I blurt out a number first I'll it may put me at a disadvantage in the negotiation, as they'll just start the negotiation from what I say even if they would have been happy to have paid way more.