Chinese Language Stack Exchange is a question and answer site for students, teachers, and linguists wanting to discuss the finer points of the Chinese language. It's 100% free, no registration required.

As a native I agree that 还是 usually has the element of doubt, hence is more commonly used in questions or statement expressing such doubt : "I don't know whether I should go to Beijing or Shanghai." (我不知道我应该去北京还是上海才好。) However it seems to me that 或者 can be used in questions just as well. Unlike 还是, it does not hint an element of doubt. Therefore it is sometimes used to express advice : 或者你要减肥了 (Perhaps you should loose weight)
–
GaptonJan 12 '12 at 3:39

Both 還是(simplified form:还是) and 或者 can mean or, and I think the only different is that, "还是" is oral, and “或者" is formal.

You could just use ”或" to mean "or", you could also use “抑(yi4)或",but this word are used more in literature and you won't use it in ordinary life.

Thanks for Cocowalla's reminder.

I think you can use either of them in both question and statement sentence. There is only one thing to take care of. When you ask some to pick one from your choices in a simple sentence(no clause) , only ”还是" is acceptable, and when you express your choice in a simple sentence(no caluse), only "或者" is acceptable.

Thanks for your reminder, by asking myself how I would say in your examples, I found something interesting. Yes, I would always say"你想喝茶还是啤酒?" and ”我想喝茶或者啤酒“, but I can also say ”你想喝茶吗?或者啤酒?" and “我喝茶还是啤酒，和你没什么关系( whethe I drink tea or beer, that's none of your business." Ok, I get confused.
–
HuangDec 16 '11 at 8:20

You see the pattern here? When used reversely, you need to say two sentences here, instead of one sentence.
–
StarCubDec 16 '11 at 8:25