If you want to avoid the back story to this question, feel free to skip the paragraphs between the horizontal lines.
Yesterday Georges Elencwajg asked me the following question (I'm paraphrasing): what can we say about a vector bundle with trivial unit sphere bundle? I told him that if the bundle had rank $k$, then the triviality of the unit sphere bundle gives $k-1$ linearly independent sections of the original bundle. This is not true, or more precisely, the reasoning which lead me to make the statement is false. Allow me to elaborate.
Let $\pi : E \to M$ be a rank $k$ real vector bundle on a manifold $M$. If $E$ is trivial, there is an isomorphism of vector bundles $\Psi : E \to M\times\mathbb{R}^k$ and then $r_i(x) = \Psi^{-1}(x, e_i)$ for $i = 1, \dots, k$ is a collection of linearly independent global sections.
Now let $SE$ be the unit sphere bundle given by some Riemannian metric on $E$. Then $SE$ is a $S^{k-1}$ fibre bundle over $M$. If $SE$ is trivial, there is an isomorphism of fibre bundles $\Phi : SE \to M\times S^{k-1}$. My thinking was that $e_i \in S^{k-1}$ so, as before, we can define $s_i(x) = \Phi^{-1}(x, e_i)$ and these would be linearly independent global sections - if this actually worked, I'd get $k$ sections rather than the $k - 1$ I had mentioned to Georges.
So what's wrong with the approach in the previous paragraph? Well, in the case where $E$ was trivial, the linear independence of $r_i$ relied on the linearity of $\Psi$ when restricted to fibres. In particular, it was important that $\Psi$ was a vector bundle isomorphism rather than a fibre bundle isomorphism (the latter does not require linearity on fibres). In the case of the sphere bundle, we have no such linearity condition (and couldn't possibly as $S^{k-1}$ is not a vector space), so we cannot conclude much about the sections $s_i$, except that they are nowhere zero.
So the question still remains
What can we say about a vector bundle with trivial unit sphere bundle?
The classifying space for $S^k$ bundles would be $\mathrm{BDiff}(S^k)$. See this overview article by Hatcher for what's known about these:
For $k \leq 3$ it's known that $\mathrm{Diff}(S^k) \simeq O(k+1)$ under the inclusion map, with the case $k = 3$ due to Hatcher, so a trivial $S^k$ bundle implies the original vector bundle is trivial for $k \leq 3$.
The homotopy type of $\mathrm{Diff}(S^4)$ is not known.
Update:
However, as stated in that article, we do have $\mathrm{Diff}(S^k) \simeq O(k+1) \times \mathrm{Diff}(D^k\ rel\ \partial)$ (again under the map?), which implies $B\mathrm{Diff}(S^k) \simeq BO(k+1) \times B\mathrm{Diff}(D^k\ rel\ \partial)$, which implies that if a sphere bundle coming from a vector bundle is trivial, then the original vector bundle is trivial (all assuming the ? above).
Working on $\mathrm{Diff}(S^k) \simeq O(k+1) \times \mathrm{Diff}(D^k\ rel\ \partial)$:
Hatcher, in his proof that $\mathrm{Diff}(S^3) \simeq O(4)$ states that this is "well-known and easily shown."
Consider the point $p = (0,0,\ldots,0,1) \in S^k \subset \mathbb{R}^{k+1}$ and let $\mathrm{incl}: S^k \hookrightarrow \mathbb{R}^{k+1}$ be the standard inclusion. One gets $f: \mathrm{Diff}(S^k) \rightarrow GL_{k+1}(\mathbb{R})$ given by $\phi \mapsto [d(\mathrm{incl}\circ\phi)_p |\, \mathrm{incl}\circ\phi(p)]$, where this last is a block matrix with $\mathrm{incl}\circ\phi(p)$ a column vector. That is, the map is "evaluate the derivative at a point and adjoin the normal vector" (also discussed by Hatcher in the above paper).
Next we have $GL_{k+1}(\mathbb{R}) \simeq O(k+1)$ by Gram-Schmidt.
We get $f \circ \iota = \mathrm{id}_{O(k+1)}$ for $\iota: O(k+1) \hookrightarrow \mathrm{Diff}(S^k)$ the inclusion, so, at least so far we do have the "compatibility with the map from $O(k+1)$" that we needed above.
The map $f$ is a fibration with fiber "diffeomorphisms of $S^k$ which fix $p$ and have $d\phi_p = I$" which is homotopy equivalent to $\mathrm{Diff}(D^k\ rel\ \partial)$.
I'm not quite sure how we get it homotopy equivalent to the product.