Garry's mod is a sandbox game built on Valve's Source engine. You can think of it as a user friendly version of the Source engine that uses the Lua programming language to make working with it easy. It also lets you easily distribute your addons/mods through the Steam workshop. You can use GMod to develop full games, called "gamemodes" that run inside it, or extend existing gamemodes through workshop addons. I've spent a huge chunk of my life playing Garry's mod and creating things in it.