Mikhail has used frames the most, so maybe he'll chime in with more info.
Frames work by using Child Windows. In order to make them work in BR, we have to be able to input from both inside and outside the child window at the same time. This is not supported in older versions of BR prior to 4.3, so instead the way that ScreenIO handles frames, is it turns "FORCE_VISIBILITY" on and off as needed, so that it can have FORCE_VISIBILITY on and input from behind the frame and have the controls "soak through" to the frame.
ScreenIO uses a similar technique to support multi-line text boxes which aren't supported in regular BR either.
Its worth it, if you're getting something good out of it, but it can be a little tricky sometimes to debug a program that turns Force_Visibilty on and off all the time. Also, having frames on your screen will make the whole screen run a little slower as Screenio has to keep changing Force_Visibility all the time in order to manage it. That having been said, I get good feedback from frames and the bugs have been worked out so you hopefully won't have to worry about it.
To answer your question: You can do a bunch of really useful stuff with Frames.
You can set a Background Image on a frame and then place controls on the frame .. you might have an image of a check on part of the screen and put controls on top of that image where the amounts would be. This makes them powerful like pictures, but with the added benefit of you being able to put additional controls on top of the picture.
Also, when designing your screen, if you move the frame, all the controls inside the frame come with it, so thats nice.
Also, you can use "INVISIBLE" to turn the entire frame visible/invisible with a single command.
Multi-line textboxes are really nice, even nicer perhaps.. and once you're using frames, you might as well use Multi-line text boxes, and vice versa.