I love bounding boxes. All you have to do is to check the bounding boxes of two objects... If we extend that system to bigger constellations and geometric forms, we can create entirely complex patterns of collisions and geometric constructions... I tend to avoid the use of pixel-perfect math for collision checks in game programming. They're slow and it's not really necessary to have a perfect collision. If it's a first person game, I totally agree. But if it's a kind of action adventure... I disagree. I don't need uber-perfect collision routines for normal games. Most collision stuff here can be done in an approximating way, therefore bounding boxes. An alghorythm I wrote is to seperate bounding boxes into groups of smaller boxes inside the bounding box. This way is (for example) useful to check a broad collision/intersection between 2D lines or even polygons. You just check the outer boxes, going further with inner boxes n times... the more depth, the more accuracy, the less speed. But atleast more speed than using normal math stuff. I'm looking forward to extend that method for 3D use, circles and some other forms. Circles are pretty complicated to check... You need to analyse possible inner box combinations with logic operators, preset box patterns... Very analysation-heavy and non-school-mathy.
And it's also pretty non-standard. I wonder how far bounding boxes can go without loss of speed.