PowerDNS is an authoritative nameserver. Up to version 2.1, a packet indication that recursion was desired, coming from a host from which recursion was allowed, would be handed sight unseen to the recursing backend. This means that older installations do not have the ability to 'override' the internet with local data. Recursive queries would not be answered from the database.
This behaviour sufficed for many users but some installations have a pressing need to override the internet, for example to support recursive queries for fake domains like 'powerdns.office' or '.internal'.
As of version 2.1, PowerDNS has a feature called 'lazy recursion' where a packet will only be handed to the recursing backend if it cannot be answered completely from the database. 'Completely' in this case means that the original question has an answer in the local database and any additional processing can also succeed from the database.
So for example, if you have the 'your.office' domain and a query comes in for its MX record, you should locally have the 'your.office' MX record as well as the IP address of (for example) 'smtp.your.office'.
If any of these conditions fail, your packet is handed to the recursor anyhow. So to benefit from lazy-recursion, be very sure that all data needed is present locally!.
To restore pre-2.1 behaviour, specify lazy-recursion=off.