For language learning I always try to remember that the languages first evolved naturally and then people tried to understand and explain them in a systematic way that is what we call grammar. So the "rules" are never set in stone and are usually more complex (and context-dependent) that they may appear.
I'm just a beginner in korean, but I've read about it and I've also paid attention to this when watching k-dramas. As far as I can tell, the formality levels are part of a complex system that is dependent of many factors (like who is the person you are talking to, how old is he/her, how close are the both of you, what is the setting in which you are interacting, if you are directly talking to one person or if you are talking to a group, etc.)
The book "Using Korean: A Guide to Contemporary Usage" by MIHO CHOO and HYE-YOUNG KWAK says the following (I'll quote a few parts):
Style in Korean can be marked by sentence endings. There are two major types of formal endings (존댓말) and two types of casual endings (반말). Whereas 존댓말 signals general courtesy and the more formal use of language, 반말 connotes intimacy and informality.
It is often asserted that 존댓말 is necessarily ‘polite’ and that 반말 is ‘nonpolite’ or even ‘impolite,’ but this is not right – no one style is polite (or not polite) in all situations. A formal style can in fact be considered impolite and distant if used with a close friend. The casual styles are by nature friendly and affectionate, but if they are used to the wrong person or in the wrong situation, they can be impolite. Ultimately, politeness lies in behaving in a considerate manner toward others. Each of the four styles is ‘polite’ as long as it is properly used.
Use of the formal 합니다/합니까 and 해요 styles indicates a psychological distance between the speaker and the hearer. For that reason, these styles are used between people whose relationship is socially constrained in some way. They may have just been introduced, they may not know each other well, or they may be participating in a public meeting. Perhaps they have a very different social status, or perhaps their friendship developed after college.
If you are the boss or professor, you have a choice between a formal and a casual style, unless the other person is older than you (in which case 존댓말 has to be used). In most cases, the choice depends on the setting, your personality (whether you like to be formal or casual), the age of your students or social subordinates (the older they are, the more appropriate a formal ending), and the familiarity you feel with them. It is common for a boss or senior person to mix occasional 반말 with 존댓말 when his feelings are not clear-cut (e.g., he doesn’t feel comfortable using just 반말, but 존댓말 only is too formal).
One factor that supersedes all others in the choice of style is the setting. Even two people who are in a romantic relationship and who normally use 반말 to each other must switch to 존댓말 if they are in a formal meeting with other people.
The 합니다/합니까 style is usually mixed with the 해요 style even in formal situations, except in the case of news broadcasts, ceremonies, job interviews, public lectures and announcements, and so on, where the 합니다/합니까 style is used almost exclusively. In general, the more formal the situation is, the more the 합니다/합니까 style will be favored over the 해요 style. (Men tend to use the 합니다/합니까 style more than women do.)
qeadz wrote: - I've read from a number of sources (including my wife saying this) that 요 and ㅂ/니다 are the same politeness level (I always thought the latter as being a bit _more_ polite, but she tells me "where on earth have you been getting your Korean lessons from???")
EDIT: Also I did catch my wife out when she told me they were the same politeness level. My immediate response was "Oh, so if I were talking to the CEO of my company I could use 요?" and she replied "NO! Of course not" (said as if it were self-evidently ridiculous). Never-the-less she insisted they were the same politeness level and interchangeable... except for that case I brought up. *sigh*.
입니다 and 요 are both considered 존댓말 (maybe that's why your wife said they were in the same level) but, as far as I understand, their use isn't exactly interchangable because the first one is more formal that the latter, and thus they have different connotations (so it could be considered rude if you use 요 with your boss).
There is also something called "honorific language" in korean but I've not read much about it yet.