A lot of people don't like frames because earlier generations of browsers did not support them, ie pre IE/NS 4. By the time we were all using frames-enabled browsers, everyone was using iframes. Then IE 6 and Firefox came along with bugs for iframes, so I personally have gone back to using frames.
The 'back' issue can be overcome in several ways, but again browser diffs make it more complex than it need be. Go to any good javascript forum/code vault for loads of methods to control the back-button/history issue.
Frames are like tables for layout, I'll continue to use them untill such time as CSS gets properly implemented across most browsers so I don't have to write all those browser specific hacks just to get stuff to look good and stay put where I want it. Like having my menu stay put when the user scrolls the contents, or having an account summary stay visible while the user scrolls the details - for that frames (or iframes) are the only way to go. Try that in CSS and just see how most browsers jump and jerk and overflow and generally make your site look crap.
Which is not to say that I don't use CSS - far from it. I love CSS cos it saves me untold keyboard input etc, and unlike most web-designers I know how to use it properly.
Frames are like anything else in IT - there are no absolutes: ther is stuff that works and stuff that does not, and half the art of programming is knowing which tool works in which context.