No-poaching agreement is presently a contract between the recruiting agency and the firm. Soon, hopefully (but improbably), there will be a 'gentlemen's agreement between two companies who will not poach into the other company. This is when the companies are doing similar business. If one goes through the IT industry HR retention, one sees maximum attrition!
Many years back, in the airline industry in India, there was a lot of poaching between airlines. This was when many airlines started up (2005-06 - SpiceJet, Kingfisher, Go, Indigo, Paramount) and the market was deficient in skilled manpower (including Pilots). There was a lot of poaching until the regulator (DGCA) stepped in and issued a rule that Pilots should give a six-month notice before leaving an airline for joining another.
Regards,
Rajusiachen