I do many off the cuff things, because it saves me time. E.g. my boss
asked for a workbook to be cleaned up, and rows deleted based on a text
string being present.
A simple Do until loop, starting from the bottom, working upwards (since
we are deleting rows), and whole job was finished in ~15 minutes,
instead of ~10 minutes by using Autofilter (now that I think about it),
or 4 hours manually (estimated). SO, bad example, but the cookie
sometimes falls the other side of the tree, and VBA is the fastest way
to accomplish a task.
For your first and second question, you will have to refer to Wikipedia.
Search for "VBA". No history, though, but lots of links.