If the base space $M$ is a CW complex then the problem of Existence Of A Section is solved using Obstruction Theory. (Steenrod's book "The Topology of Fibre Bundles" gives a great exposition in the classical "cell-by-cell" case, and you can find a more modern approach using Postnikov towers in Hatcher.)
(Edit: See Tyrone's comment for an alternate approach which doesn't use CW structures.)
The very rough idea is that if $\sigma\colon M^{(n)} \to P$ is a section on the $n$-skeleton and $D$ is an $(n+1)$-cell then $\sigma$ can be extended over $D$ iff $\sigma|_{\partial D}$ is null-homotopic, and since $D$ is contractible we can push the problem into a fibre over a point $x\in D$ and get a homotopy class $[\sigma_D] \in \pi_n(F_x)$ such that $\sigma$ can be extended over $D$ iff $[\sigma_D] = 0$. Since $F$ is contractible this homotopy class vanishes, and we can always extend the section.
To finish the obstruction theory picture, as $D$ varies over the $(n+1)$-cells all of these homotopy classes incredibly form an "obstruction class"
$$\mathfrak{o}(\sigma)\in H^{n+1}(M;\{\pi_n(F_x)\})$$
where $\{\pi_n(F_x)\}$ is a "bundle of coefficients" (if $M$ is simply-connected then the coefficients are just $\pi_n(F)$). Then $\sigma$ can be extended to the $(n+1)$-skeleton if and only if $\mathfrak{o}(\sigma)$ vanishes. If $F$ is contractible then all of these groups vanish, so a global section can be inductively constructed on the skeleta of $M$.