I tell my students that a good sysadmin does a task only three times:
1) To do the one-off quick fix
2) To carefully record the steps taken and results of each
3) To verify the script (produced from #2) works
I also counsel them to never, ever consider a job as a one time occurrence - it will be repeated, sometime, somewhere.
Really, all of the above are used, but the question is "what's your top way" and there can only be one top way. For me, I learn best by doing, so I'll read a post somewhere about something new, read a bit of online documentation to get a starting point, then bring it up in my lab to tinker and play with. At least in my lab, when it all comes crashing down around me, all that's lost is time, but I learn a valuable lesson through that crash and investigation.