My understanding of gardening leave is its what they put you on if you work in a position where you could continue to be privvy company information that could be of use to a competitor.
So, if you work in pharmaceuticals for examples in the research department and have a 6 month notice period chances are they wouldn’t want you kicking around for 6 months getting wind of new ideas so they put you out on gardening leave.
During this time you are still employed by the company so cannot work for a competitor but at the same time you cannot gain inside knowledge.
Also, in some jobs being out of the loop for 6 – 12 months can have implications when you start the new position as you have effectively been missing in action for an extended period and it can take time to re-establish contacts etc.
If you work in a lesser position then there is a general expectation for you to work your notice through but everything is negotiable.
Non-compete clauses can be difficult to enforce as no company can prevent you from earning a living in your trade. I work in insurance so I cannot be told you must not deal with companies within an x radius of where I live / work whatever. What they can say is that I cannot approach clients insured by the current firm for a period of time for example but the restrictions need to be defined and not punitive.
Cheers
Danny B