The first line clears two bits in the register called 'TCCR2A. It does this by making a byte with two bits set to '1' and then using bitwise AND and bitwise NOT to clear those bits. the constants WGM21 and WGM20 are small integers that specify which bit (0-7) is to be set in the byte. So, (1<<WGM21) is a byte with just one bit set to '1'. Look up bitwise operators on C for more information.
That might clarify what AWOL is saying and allow you to understand what is going on.
Basically thereis a bunch of shifting bits to and fro to set specific bits, negating it and using the result as a mask to clear the given bits in the register.
The C programming language can be pretty 'low level' in that it gives one access to very fundamental bit manipulation operators. However newcomers can have difficulty in 'decoding' these operations and how to use them till they climb higher on the 'learning curve'. The Arduino platform has added more 'high level' functions to use if you wish to use them, but of course the might bring on the graybeards for using such 'beginners' methods.
bitClear(TCCR2A, WGM20); //clear bit WGM20 in TCC2A
bitClear(TCCR2A, WGM21); //clear bit WGM21 in TCC2A
bitClear(TCCR2B, WGM22); //clear bit WGM23 in TCC2B