Solving the first two layers of a Rubik's Cube is very intuitive. One can watch the algorithms in action and see exactly why they work. However, when using known algorithms to solve the third layer of a Rubik's Cube, they seem to just work by magic, with no explanation. Is there a way to explain why such algorithms work? Are there basic principles for understanding these algorithms?