Why are there two tides per day?
The simple answer is that the moon's gravity causes the 1st tide per day and "centrifugal force" causes the 2nd tide. But what causes the centrifugal force? The answer is that while gravity holds the moon in orbit around the earth, the moon also exerts a force on the earth such that the balance point of the overall system (i.e., the barycenter) is located between the center of the earth and the center of the moon (the actual location is inside the earth, 3/4ths of the way outward from the center of the earth toward the moon). Therefore, the far side of the earth is experiencing a centrifugal force as it moves around the balance point of the overall system.
Why are the tides are 12 hours and 25 minutes apart?
That's because the earth rotates on its axis once every 24 hours, but the moon revolves around the earth in the same direction such that any point on earth is in line with the moon once every 24 hours and 50 minutes. Dividing that in half for the 2 tides per day gives us the time between tides of 12 hours and 25 minutes.
How do the tides relate to the full rotation of the moon?
This takes getting a little nerdy. First, we need to define the difference between a "sidereal day" and a "synodic month". A sidereal day is the time it takes for the moon to complete one full rotation around the earth back to where it started and this is approximately 27.3 days. However, the earth will have rotated around the sun during that same period - meaning the moon will NOT have completed a full rotation of the earth back to the point on the earth facing the sun. Therefore, we need the moon's synodic month which is the time it takes for the moon to complete one orbit around the earth, and return to the same position relative to the sun on the earth, and this is approximately 29.53 days.
Then, the equation we want is:
Tidal Period = Ave # days per month * # hours per day / # days per synodic month / # tides per day Tidal Period = 30.43 * 24 / 29.53 / 2 Tidal Period = 12.36 hours / tide Tidal Period = 12 hours and 22 minutes / tide
which is very close to the common approximation of 12 hours and 25 minutes