I'll offer some strategies rather than specific apps to use:
Define which assets will be re-used
Files that are only used for a particular project can/should be stored separately from files that will get re-used frequently. For us, we only access project-based files occasionally, so the ability to tag and browse them isn't vital, but security is.
Conversely, assets that get reused - mostly fonts and stock photography - benefit from being within a system that allows fast and easy browsing with support for tags and metadata. As Lauren points out, Bridge is well suited for this, and can be set up to access networked media.
Have a sensible filing structure
Every project should have a unique number; in all my years working for various studios and print shops, it's the only sane method. This really pays off when you work on a project which is a re-visiting of a previous one: catalogues, newsletters, event-related materials etc.
We keep our file system as narrow as possible; this means keeping the levels of hierarchy as low as we can, usually only a few levels deep:
- 0001 Client Name: Project Name
- 0002 Client Name: Project Name
- 0003 Client Name: Project Name
We keep it to 4 levels deep, and each project gets the same 5x folders each time. Supplied content and proofs always go in dated folders, as they always multiple quickly, and filing them by date is the easiest way to keep tabs on thing and refer to them in correspondance. I've seen some studios use separate folders for each client, but I've never found a need myself.
Let the computer do the heavy lifting
Computers are great at performing simple searches really fast, so take advantage of that. Keeping our file system as narrow and predictable as possible makes searching for something really easy, even with thousands of jobs. We also keep a simple text file that lists the project numbers, client and project name; we can search this in under a second, get the relevant project numbers and retrieve the files in a minute or less, even jobs that are 6 years old. I've known some studio managers with really arcane filing systems that rely on them actually remembering where files are located; which is just bananas.
Pick your storage media wisely
Hard drives are the most sensible choice here; they're now cheap and fast enough. Tape-based media seems to still be used in larger/older studios, so they still get some weird kudos for being the 'professional' choice, but really they are as slow as sin. Don't be tempted to use DVD-Rs; I've seen it done and that way lies madness. Avoid splitting content across multiple drives; it may seem the cheaper option, but it introduces complexity and reduces search-ability.
Everything breaks eventually
Backup frequently. Backup your backups. Keep backups separate, preferably offsite. Don't rely just on cloud services; you don't control them and they can also break. Make sure you can actually access the data on your backups.
There's never a final version
HonestlyThatsTheLastChangeFINAL.pdf. Use a date, or a version number. Even version 1 should get a version number. We only move files into the finals folder on our projects once the job is complete, paid for and ready for archiving.
Be the hero no-one expected
Ensure that your contract specifies that you are not liable for the long term storage of assets for the client. However, if a client does request something that's 4 years old, you can of course pull their fat out of the fire with your superior skills. And bill them.