Performance
The biggest advantage to storing a file-pointer as opposed to the binary data in a database table is speed.
Period. And I'm not just talking about database-retrieval speed here so let's clarify that first.
It should be quite obvious that reading from a table containing more text as opposed to large binary objects is going to be faster.
-- no need to be reading this table into memory when all I really want is the end result, the image itself, right? Right.
But, even after that we have to read that column's binary data from the database and then push it out to the browser.
In my experience, allowing the HTTP server to retrieve an image from the filesystem versus reading binary data from the database table has always been faster.
If you have a setup that proves this wrong you are going to have to share it here because I would truly love to learn from you.
Storage
The database is going to be a fraction of the size when using file-pointers as opposed to BLOBs but the filesystem is going to be the same either way.
Security and Disaster Recovery? You can secure, backup and restore directories and databases equally when structured correctly.
A well-designed application and well-designed database structure within that application (which is stating the same thing if you ask me) makes the difference.
You are going to incur the Hard Disk Drive (HDD) storage somewhere whether it is in the filesystem or the database.
That much can be agreed upon.