If I may extend my own post for a moment, this is a common problem of trying to translate words & phrases directly.
For example, most people know that "Arigato" is Japanese for "Thank you". Except that's really wrong. Arigato is inappropriate in most cases, and "Sumasen" or variations should be used. But if you tried to translate them via the dictionary, you'd be quite confused as arigato comes from "thank" and su(mi)masen from "to finish".
You can't just say "This equals this" when you work in another language or culture. You have to learn the native meaning itself.
Arigatou - "Thank you"
Sumimasen - "Excuse me" or a milder version of "sorry"
Gomennasai - "Sorry"
If I help my Japanese roommate grab some stuff from the convenience store, he says arigatou. If he wants to really be polite he could add on "suman, meiwaku kaketa." (sorry for troubling you)
I'm not arguing against the fact that we shouldn't do literal translations between cultures, but more that you're giving misleading ideas on Japanese language.
If someone holds the door for you, or brings you a napkin, you can pretty much just say "arigatou". They will most probably just reply, "iie".
Source: JLPT N1 and member of a Japanese Teamspeak game clan for 7 years now.
My "source" is 13 years in Japan living with Japanese wife, children & extended family :-)
But I'm not going to argue - for example, it may just be that here in Kansai we use them differently. We would definitely say "sumasen" for the things you listed. Just shows how hard it is to get this down from textbooks.
Hmm it is true that I have only hung out with mostly people from kantou. Thanks for the new knowledge, will go look into it. :D
[Edit]
Just checked with the friends. It seems like it really depends on the social habits. If a bunch of people started with gomen, then that word will stick, even if it feels weird.
For me, because I started with "arigatou" with them, so my friends naturally used "arigatou" around me instead. However, whether they use "arigatou" or "sumimasen" really depends on their family habits. Currently it's split 30(arigatou)-70(sumimasen) amongst them. Much nuance is learnt today.
I'm surprised you didn't mention the less formal Kansai local term:
"oh-KIni" おおきに:
It is also used as "Thank you" in casual situations, but my understanding is that it is literally "Excuse me".
So much of proper speech is dependent on who you are with and their preferred idom. Of course formality in the case of uncertainty is usually preferred, but that can lead to both humor and embarrassment.
大きに (おおきに) is interestingly an abbreviated form of... 大きにありがとう (ookini arigatou), in which 大きに just means the same as とても (totemo), so "very". The equivalent in english would be to say "very much" instead of "Thank you very much".
Wait a minute, sumimasen only means thank-you when it's a thanks plus a kind of apology for making someone go to some trouble. Some version of doumo arigato gozaimasu is really fine in most other situations!
EDIT: after reading the post above, I'd like to add that there may even be regional differences with all of this, so let me state this is based on my own experience.
No, not really IMHO - much more complicated. The first article (I only skimmed) seemed pretty good, the second was prolly a Japanese person trying to codify it :-) Here's a foreigner's attempt to explain them, based on how I use them (and I'm focusing on "thank you", not all the other meanings):
"su(mi)masen" means literally "it isn't finished" - meaning, I feel the need to repay you. "Arigato" is more literally "thank you", but is more of a "ending, cutting off" feeling. Neither is more polite than the other, just used in different circumstances. Which makes it terribly nuanced.
On the street, in the shops, normal life: "sumasen", which ends up being a lot like "thanks" that we are originally discussing. Why not "arigato"? I think because it would sound really abrupt, cut off ("curt" often used in literature).
Family member passes the salt - "arigato". No need to make a fuss, just a "thanks"
Someone close to the family has given you a gift, done something special: "Arigato gozaimasu!" (with 20 or more little sumasens thrown in) - I couldn't possibly return such a special effort (even though I'll deliver a returning gift to your house tomorrow) so it would be insulting to imply I'm going to.
You get the idea of how nuanced and confusing it can be. You just have to learn it naturally, I think.
Yes, it is interesting how regional it is! I lived in Tokyo and in the north, and sumimasen (or suimasen) was basically just used for sorry-thanks (along with all the other excuse-me type situations). Also doumo was the least formal way of saying thanks, not arigato, unless there was some other way of demonstrating appreciation in which case it might be skipped altogether. Some of the people I was with would say sugoi about every 10 seconds and if you did something deserving a doumo you might get a sugoi instead. I wouldn't say doumo in a shop unless I knew the people, and I wouldn't say arigato much with people I was close to. I certainly wouldn't use arigato much at dinner, let alone doumo; with friends it was close to saying "I'm grateful" in English which you only really say if it's at least somewhat important.
Sumasen is likely regional. I've never heard it said, but it has the same root as sumimasen. In spoken "standard" japanese, you'll hear "sumimasen" or "suimasen", which is a common deformation because it's easier to pronounce. And indeed, its root is "to finish something" (済む), while its meaning is large, including "Sorry" and "Thank you" in english.
Arigatou, literally, means "difficult to be/have" (有り難う (arigatou) is an euphonic change (onbin/音便) of 有り難い (arigatai; ari/aru: be/have...; ~gatai: difficult), which translated like this is just completely weird, but so is literal translation.
Arigatou is fine in many more cases than you claim it to be, but yes, Sumimasen can be appropriate in many cases where you would say "Thank you" in english.
For example, most people know that "Arigato" is Japanese for "Thank you". Except that's really wrong. Arigato is inappropriate in most cases, and "Sumasen" or variations should be used. But if you tried to translate them via the dictionary, you'd be quite confused as arigato comes from "thank" and su(mi)masen from "to finish".
You can't just say "This equals this" when you work in another language or culture. You have to learn the native meaning itself.