Why aren't all vector bundles local systems? A local system is a bundle with locally constant sheaf of sections. I have seen several equivalent characterizations (bundles acted upon nicely by the fundamental group of the base, bundles admitting flat connections, etc), and from this I can construct examples of vector bundles that are provably not local systems (e.g. the tangent bundle of a sphere). 
On the other hand, as far as I can tell, a local trivialization of a vector bundle over a contractible neighborhood should force the restriction of the sheaf of sections to be constant over the same neighborhood. But this would seem to imply that all bundles correspond to local systems.
Can anyone help me resolve this apparent contradiction?
 A: Given a vector bundle, there is no meaningful notion of locally constant sections of it without extra data. You can define what "locally constant" means with respect to a particular local trivialization, but this notion depends on the choice of local trivialization, and it generally won't be possible to patch local trivializations together along locally constant transition maps, which is what you'd need for "locally constant" to be well-defined globally. 
For example, complex line bundles on, say, a smooth manifold are classified by their first Chern classes $c_1 \in H^1(X, \mathbb{Z})$. Among these, the ones which can be made locally constant (equivalently, the ones that can be equipped with flat connections) have the property that $c_1$ is torsion. 
A: 
On the other hand, as far as I can tell, a local trivialization of a vector bundle over a contractible neighborhood should force the restriction of the sheaf of sections to be constant over the same neighborhood.

This isn't true at all.  When you talk about a vector bundle having a locally constant sheaf of sections, that locally constant sheaf isn't going to be the sheaf of all (continuous) sections of the vector bundle; rather, it is a very special subsheaf of the sheaf of all sections.  For instance, if you have the trivial line bundle $X\times \mathbb{R}$ over a space $X$, the sheaf of continuous sections gives you all continuous real-valued functions, while the locally constant sheaf corresponding to the trivial local system consists of only the locally constant real-valued functions.  Most spaces have plenty of continuous real-valued functions on them that are not locally constant, so these two sheaves are quite different.
It is true that given a trivialization of a vector bundle, there is a canonical way to turn the vector bundle into a local system (namely, take the locally constant $\mathbb{R}^n$-valued functions).  But different trivializations of the same bundle will give rise to different local systems in this way, and so if you have a general vector bundle, it might not be possible to choose local trivializations which give rise to compatible local systems and thus a global local system.
