Snippets (and completions from a sublime-completions
file) are essentially hard coded items that expand the same way every time based on matching input text, while an auto completion plugin analyses your code and provides you suggestions based on the code you’re currently writing.
For example you can create and install a set of snippets for say the SDL library; those snippets will always be available to you, so you can easily expand out SDL library calls.
In the meantime, any other libraries that you might be using, for which you don’t have snippets defined, aren’t going to be offered as completions; neither are the names of functions in the code you’re editing (all else being equal; they would appear if you’d used them before in the buffer, for example).
I would consider snippets exactly that; easy to invoke snippets of commonly used code and code constructs. If you want true auto completion of methods, variables, etc even if they don’t exist in the file you’re currently editing, you want an autocomplete plugin.