Hello
An idiot proof explanation of an H bridge is as follows.
Imagine 4 switches, upper left, upper right, bottom left, bottom right. The two upper ones are connected to 12V, the two bottom ones are connected to ground. The two left are connected together, and the two right are connected together. Your motor is then attached in the middle, creating the H shape. I'm sure that since you've been looking up H bridges, you can see what the schematic looks like.
You have 4 switches, and by opening and closing each one, you can direct the path of the current. For simplicity sake, I"ll name the switches 1, 2, 3, 4, for the upper left, upper right, bottom left, bottom right.
If you activate switch 1 and 2, nothing will happen. This connects both sides of the motor to 12V. If you activate 3 and 4, still nothing happens, since both sides of the motor are connected to ground.
If you activate 1 and 3, bad things happen. This is a direct short between 12V and ground. Same for 2 and 4.
To control a motor, you need to activate switches 1 and 4. This will cause current to flow from 12V, through the motor, and down to ground. To move the motor the other direction, you activate switches 2 and 3.
You can make an H bridge in many ways, but the principle is the same. You can use transistors for switches, relays for switches, darlingtons for switches... The differences between H bridges are the maximum currents they can provide, and the maximum voltage you can use.
Most H bridges are built so that the voltage across the motor can vary (6-40V, for example), yet they are controlled with the 5V signals from the Arduino. The Arduino chooses which switches to open and close.
You can either make your own H bridge, or there are tons of prebuilt H bridges that can be used. You can buy them from all sorts of electronics stores, like Robotshop, Polulu, or our site (link in signature). Some are nicely built as Arduino shields, others are built to interface with many controllers.
Hopefully that answers your question!