Just to be clear that we're talking about two different things.
Declare statement allow us to reference to other library files (.dll, .tlb, .ocx, .lib and few more extensions) without binding. Most of time, Declare statement is used to access Windows API.
In the Tools -> References, checking a reference binds the application to that library file. What it means is that you now can use object browser and intellisense to expose the classes, methods, properties and such made available by that library. Handy for development, yes? Not really for distribution, because if you check a reference to Excel library and you have Excel 2007, then you copy your .mdb file to someone who has Excel 2003, you get a broken reference due to the different version.
To learn about various API calls, I usually use that
website.
For library references, it's usually when you actually need it. Excel is already mentioned, but I'm thinking about cases such as having a bar scanner to scan in numbers for you where you would want to reference a bar scanner library (provided by the vendor) so you can grab the input from the bar scanner for example. Another case is when I wrote a custom library in C# to provide secure WAN connectivity to a remote backend.