What exactly does this timer control and what affect does it have on the spanning network?
Max_Age is not a timer. It is used as follows: At the time of transmitting config BPDU, value put into message_age is (current value of message_age of received config BPDU at bridges' root port + 1). If bridge is root bridge then value put is (0 + 1). If the (value put into message_age is < max_age) then config bpdu is transmitted. When config bpdu is received a message_age timer at that port is initialized at the value of message_age contained in bpdu. Every 1 second this message_age timer is incremented by 1. So config BPDU does not go out when its message_age becomes >= max_age. When message_age at port becomes >= max_age due to non refresh of message_age timer (which is intern due to non timely receipt of config bpdu) port starts with designated role. So max_age controls number of hops in bridged LAN.