Ignacio,
1- I started to look in to it when I was working in an architectural office that was using it in 2013.
2- Started to watch tutorials in 2014.
PS: Most of the tutorials that I have found didn't help my me to make to connect the dots between the power of the program and putting it in application, it's not until the end of 2015 that I´ve started to make the connection for exploiting it's power.
3- After I have dominated it, I started to look for ideas, but it wasn't until one day in an ArchiCAD forum in Facebook, that a guy have asked how to use the XYZ files in ArchiCAD, then asked how to create topografic contours for his project, for which I have created for him a manual that can do that in seconds. (Check the link :
https://twitter.com/nbBIM/status/736579703822254080 - it's free)
4- Real world applications, well it depends about your interests, and how you intent to use it but here are some applications:
4a- Modelling complex shapes that are easy to define but hard to model due to amount of work that is implicated.
4b- Create an algorithm to execute a dump repetitive procedure, that by other means would take may be as 10x more time.
4c- Site analysis.
4d- Import data types and formats and transform it in a way that other programs may understand.
4e- GIS data
4f- Energy analysis with LadyBug Tools (grasshopper plugin).
4g- I was able to translate Revit's native geometries to ArchiCAD's native geometries (it was something I was trying to proof to myself as an exercise to extend my capabilities)
4h- Some programs may not have connections to ArchiCAD, but have a connection to Grasshopper, or have a procedure to export it's data in a format that Grasshopper may interpret, so Grasshopper may serve you as the perfect node to take & export data between these type of programs and ArchiCAD.
5- See this video, but be careful, it's long, dense and hard even for experimented people:
https://vimeo.com/203509846
A good friend of mine have once told me that I´m so brute that I´m capable of creating a GDL script capable of creating GDLs.