It seems to me that vector bundles are useful because they allow us to bring to bear all of the linear algebra we know to aid in the study of topological spaces. Now, I've read somewhere that it is an important and difficult problem to classify all of the vector bundles of a space. I'm willing to accept that the problem is difficult, but why is it important? What are some applications of such a classification?

If your space is a manifold, knowing the vector bundles over that space amounts to knowing all of its tubular neighbourhoods when you embed the space in another manifold. This frequently allows you to find many relationships between the two manifolds. One classical application would be the proof that all smooth embeddings $S^n \to S^{n+2}$ (codimension two embedding of a sphere in a sphere) has a Seifert surface  meaning there is an embedded, orientable $n+1$manifold $M \to S^{n+2}$ whose boundary is the $n$sphere. One of the main steps is showing that the $n$sphere in $S^{n+2}$ has a trivial tubular neighbourhood. 


I would say that the importance of the classification of vector bundles comes first from the fact that it leads naturally to the "characteristic classes" and their complete description. Characteristic classes are computable and powerful invariants of vector bundles. Look at the book MilnorStasheff "Characteristic classes" which is the wonderful classic in the domain. There you find first applications of the classification of vector bundles, the fundamental classification theorem being that isomorphism classes of rank n vector bundle E>X over a space X are in 11 correspondance with homotopy classes of maps g:X>BO(n) where BO(n) is an explicit topological space, namely it is the grasmannian of nvector spaces inside R^{inifinity}. The usage of this theorem is then that, using the cohomology of BO(n), you can build and classify very interesting and computable invariants of vector bundles (the more famous being the Euler class, the StiefelWhitney classes, the Pontrjagin classes and (for complex vector bundles) the Chern classes.) This is whar are called characteristic classes of vector bundles. Among applications of this given in MilnorStasheff are the following:



While not specific to vector bundles as such, classifying any kind of structure usually gives some sort of deeper understanding of the structure, and more importantly, tends to yield good and often compact descriptors. For instance, the classification of modules over (nice enough) algebras gives us all sorts of interesting invariants and decompositions: the classification of modules over PIDs gives us the Jordan normal form, with all the power it brings to linear algebra; and the classification of modules over quiver algebras (tame modules exist over a few families of Dynkin diagrams; all others admit wild modules) is what forms the basis for persistence diagrams  a formalization (and visualization) of the idea that classes in the homology of a filtered simplicial complex carry lifetimes that end up telling us much about the topology of the things we used to construct the simplicial complex in the first place. These ideas, again, are currently being applied in data analysis, in group cohomology and in computer graphics. All of which is to say that classification in general is good, and vector bundles are interesting, thus classifying vector bundles is good. 


Topological Ktheory is quite useful: for example, it played a key role in understanding the index theorem. 


This is a variation on Ryan's answer. 


I am not sure why you think the classification of vector bundles is a difficult problem. It quickly reduces to homotopy theoretic issues that are quite well understood (as well as anything in homotopy theory can be understood). Vector bundles are important because they give natural invariants of manifolds (tangent bundle and its characteristic classes), and embeddings (normal bundle), as well as a natural place where various structures attached to a manifold live (e.g. metrics, connections, tensors). Whether the classification of bundles matters depends on what you do. To make an analogy if you are studying PDE on $\mathbb R^n$, which is a huge subject, then you might not care about classifications of manifolds at all; except that PDE do come in handy in classifying 3manifolds. As such classification of vector bundles isn't used in most of the mathematics, rather it represents a basic result in topology. In fact I am curious how often do you use classification of vector bundles (be that identification of $\mathbb R^k$bundles over $X$ with $[X, BO(k)]$ or the fact that complex line bundles are classified by first Chern class, or classification of bundles over complexes of dimension $\le 4$ in terms of characteristic classes)? In my own research I have used all this extensively but my impression that this is quite rare. 


I suppose a simpler answer to your question is that the classification of vector bundles is to vector bundles as Whitney's embedding theorem is to manifolds. Specifically, Whitney's weak embedding theorem says that all nmanifolds embed in $\mathbb R^{2n+1}$ and that any two embeddings of an $n$manifold in $\mathbb R^{2n+2}$ are isotopic. So studying the "abstract" problem of $n$manifolds up to diffeomorphism is equivalent to the "less abstract" problem of studying $n$dimensional submanifolds of $\mathbb R^{2n+2}$ up to isotopy. Whitney's proof of the above fact is almost exactly how the proof of the classification of vector bundles works. Moreover, they're philosophically almost identical proofs, as the Whitney theorem says abstract manifolds are submanifolds. The classification theorem says abstract vector bundles can be thought of as having their fibres in Euclidean space. 

