3 years term per approval. But you have to apply again every time you change jobs. I started with one company, then was founder of a startup, re-applied there, and moved it to another company.
Re-applying is easier once you've been approved once.
What's the reapplication process like? Do you need to have done something exceptional from the time of the previous one's expiry to warrant an extension?
I've never done an extension, just a transfer. It was pretty routine; you just file the application again just like the first time. Not much of a difference; other than the previous approval making your chances of getting approved once more significantly higher.
The first time, I had to get a new visa stamp (which required going back to my home country to get it from the U.S. embassy); the second time I kept the same visa stamp and a little piece of paper in my passport showing the transfer. It's mostly useful as a reference of the case number when I get asked about my employer (which is different than the one shown on the visa stamp) when I travel back to the US from a trip abroad.
EB-1 is basically a green card version of the O-1 (i.e. an immigrant visa, not tied to your ongoing employment). Once you have an EB-1 you can freely change jobs, start companies, do consulting part time, etc. The requirements are essentially the same as the O-1, but evaluated much more strictly.
Re-applying is easier once you've been approved once.