For version control purposes, it's better to store snippets as files. What add-on or method would you recommend?
We use Snippet Sync (http://devot-ee.com/add-ons/snippet-sync) almost exclusively now for our repeatable snippets ... we also use Low Variables (as mentioned by aelvan, but not so much for 'snippets' but more for the content that the users need to edit infrequently.
We tend to use snippets for sections of repeatable HTML/EE code (for example we may create an address snippet, that has the HTML tags to FORMAT the Low Variables CONTENT ... then we can use that snippet in the footer, on the contact page, etc).
Hope that this has helped.
Low Variables FTW.
It combines global variables, snippets and embedding templates all into one addon that also gives you flat files for snippets and global variables. You can also easily hide some variables from the client - great for code snippets that are developer only.
Finally low variables has many variable types including compatibility with wygwam, matrix, and other popular field types. This makes it very easy for clients to manage content that is too small for a full on channel - say telephone numbers, various one off paragraphs across the site, home page sliders etc...
You really can't go wrong with Low Variables.
I use SnippetsSync (http://devot-ee.com/add-ons/snippetssync) to accomplish this on any site that doesn't use Low Variables.
Note that this is not the same as the confusingly similarly-named Snippet Sync already mentioned above! This one is free, and is less configurable with no extension settings, but has always worked very well for what I wanted it to do.
I use Low Variables when the project calls for it otherwise Libraree is part of my base isntall http://devot-ee.com/add-ons/libraree