When I was in China, I heard people using 不好意思 to apologize casually. I also heard the expression 对不住 in TV series and movies. Is there any differences?
I may be wrong, but I always equated 对不住 with 辜负. As some of the above posters have said, 对不起 is a little bit formal, and, at least in my experience, not used too often. 不好意思 is what you generally hear. When I was living in mainland China, it seemed rare to hear 对不起, especially among friends. My Chinese friends often thought it was strange when I would say sorry to them, as we were friends and that formality seemed to put an unnecessary distance between us. It seemed to be the same for 谢谢.
I'll draw some comparisons with Japanese.
不好意思 is similar to Sumimasen （すみません), which means excuse me/sorry, depending on context. It's a more lighter version of 对不起.
对不起 is more similar to Gomenasai, which is very deep, like if you did something wrong that you really regret and wish you can undo the mistake.
Examples: 不好意思, 我们的面了卖完了。(Sorry, but our noodles are sold out.) (More formal in this sentence) 对不起, 我们的面了卖完了。(Sorry, but our noodles are sold out.) (More informal but usable.) 对不起, 我错了. (I'm sorry, it's my fault.)