What would cause a toilet to completely flush every other time and it always has to be flushed twice?

Partially clogged main drain or the little holes you see under the rim may be stopped up. Another possibility which is rare but can happen is the vent pipe can become plugged.