It's me who answered the question on 對不起 in :
http://hk.knowledge. yahoo.com/question/? qid=7007042600553
If you want to say sorry to someone you may use 죄송 (罪悚) 하다 or 미안 (未安) 하다. You may feel the difference between these 2 words from their Chinese words.
If you say 對不起 to those people you dont know or those you are not familiar with, you better use 죄송하다. Don't say 미안하다 to those you don't know.
So, to say 對不起 you may say = 죄송합니다 / 죄송해요
If you say 對不起 to those people you know, your relatives, your friends etc, you may use 미안하다. Of course in this case, you may also use 죄송하다 too.
To say 對不起 you may say = 미안합니다 / 미안해요 / 미안해
It's correct that the language form you use depends on the people you talk to.
If you speak to an elder person, the people you meet or work with or to your friends, you use higher language; and to your close friends you use lower language.
Therefore, you use the forms ~합니다 / ~해요 / ~해 depending on the relationship of the person you talk to.
But it is not correct that 죄송하다 is formal and 미안하다 is informal.
In higher language there are formal and informal higher language.
미안합니다 is not an informal saying and in fact it is a formal higher language and you may say this to the elder person.