This is called vertical partitioning.
Basically if your total data set is very large (say, larger than RAM), and most of your queries do not use the large file_content data, putting it in another table will make the main table much smaller, therefore much better cached in RAM, and much, much faster.
Of course retrieving the file_content will be a little slower, so it depends how often you use it.
I used this technique on a forum. I stored the posts text (bbcode parsed to HTML) in the main table, and the original posts (in bbcode) in another table. When displaying forum pages, only the main table is hit. The original post text is used only for editing posts. This divided the posts table size by 2 and avoided having to double the RAM on this server.