The difference also applies to Machine application types, for e.g. the G codes will vary between Mill, Lathe,Gantry (router,plasma,oxy/gas), EDM, Punch press etc, to suit the difference in machine peculiarities.
Also as Geoff points out M codes although often follow traditional practice, are written at the discretion of the MTB, so these can vary between identical controllers.
Get a hold of a copy of CNC Programming Handbook by Peter Smid.
Al.
CNC, Mechatronics Integration and Custom Machine Design
“Logic will get you from A to B. Imagination will take you everywhere.”
Albert E.