Fibrations are a generalization of fiber bundles. When fiber bundles occur in homotopy theory, the primary usefulness is that they have the homotopy lifting property (aka covering homotopy property.) So the definition of "fibration" is purely a way to extend the notion of "fiber bundle" as broadly as possible and still be useful in homotopy theory.
The fibers are only constrained to be homotopy equivalents (assuming $B$ is path connected.) So the fiber over $x$ and the fiber over $y$ can have different dimensions, even one being a single point while the other is any contractible space.
There are plenty of maps which are not fibrations. For example, any map from a closed interval of the reals numbers onto the circle is not a fibration.
A simple example of a fibration which is not a fiber bundle is to take an acute triangle for $E$ and one of its edges for $B$. Then define $\pi:E\rightarrow B$ as the orthonormal project of $E$ onto $B$. Then the fibers at the end points are just single points, while the fibers everywhere else are closed intervals.
This is a very general fact about model categories and homotopy pullbacks, as evidenced by Zhen Lin's comment. It's also proven as a special case of Proposition 4.65 in Hatcher's book. Let me nevertheless spell out the argument precisely for topological spaces.
Define $E_p = \{ (y, \gamma) \in E \times B^{[0,1]} \mid p(y) = \gamma(0) \}$. There's a map (in fact a fibration) $q : E_p \to B$, $(y,\gamma) \mapsto \gamma(1)$, and the homotopy fiber is the fiber $F_p = q^{-1}(b_0)$. The inclusion $$i : F = p^{-1}(b_0) \to F_p$$ is given by $i(y) = (y, \mathrm{cst}_{b_0})$.
Define a homotopy $g_t : E_p \to B$, $(y,\gamma) \mapsto \gamma(t)$. Then $g_0(y, \gamma) = \gamma(0) = p(y)$, so $g_0$ lifts through $p$ by $\bar{g}_0 : E_p \to E$, $\bar{g}_0(y,\gamma) = y$ (i.e. $p \circ \bar{g}_0 = g_0$). Because $E \to B$ is a fibration, by the homotopy lifting property, there is a full lift $\bar{g}_t : E_p \to E$ of $g_t$ through $p$. In other words, $\bar{g}_t$ satisfies the following equation:
$$p(\bar{g}_t(y,\gamma)) = \gamma(t).$$
Now restrict everything to the fibers: let $h_t : F_p \to F_p$ be given by $h_t(y,\gamma) = \bigl(\bar{g}_t(y,\gamma), \gamma_{\mid [t,1]} \bigr)$ (because of the previous equation, this is in $F_p$). Then $h_0$ is the identity, whereas $h_1(y,\gamma) = (\bar{g}_1(y,\gamma), \mathrm{cst}_{b_0})$ is in the image of $i : F \to F_p$. And now that $h_t$ is a homotopy between $ih_1$ and the identity, while the restriction of $h_t$ is a homotopy between $h_1i$ and the identity. Thus $F$ and $F_p$ are homotopy equivalent.
Final remark: it's much simpler to prove that $F$ and $F_p$ are weakly homotopy equivalent, because the map $i$ induces easily an isomorphism on all homotopy groups. The square
$$\require{AMScd}
\begin{CD}
E @>>> E_p \\
@VVV @VVV \\
B @>>> B
\end{CD}$$
induces a map between the long exact sequences of the respective fibrations:
$$\begin{CD}
\dots @>>> \pi_n(F) @>>> \pi_n(E) @>>> \pi_n(B) @>>> \pi_{n-1}(E) @>>> \dots \\
@. @VVV @VVV @VVV @VVV @. \\
\dots @>>> \pi_n(F_p) @>>> \pi_n(E_p) @>>> \pi_n(B) @>>> \pi_{n-1}(E) @>>> \dots
\end{CD}$$
Since $E$ and $E_p$ are homotopy weakly homotopy equivalent ($PB$ is contractible), and so by the five lemma and induction, the maps $\pi_n(F) \to \pi_n(F_p)$ are isomorphisms.
Best Answer
I do not believe the compact generation hypothesis is relevant in these considerations.
In a sense, proving functoriality here is "straightforward", but one has to understand the general technique. It has already been shown that to each path $\beta$ in $B$, you can find a lift $\overline{\beta}\colon F_b\times I\rightarrow E$ and that the homotopy class of the map $\overline{\beta_1}\colon F_b\rightarrow F_b^{\prime}$ is well-defined and only depends on the homotopy class of $\beta$. Assume a second path $\gamma$ in $B$ is given such that $\beta(1)=\gamma(0)$, i.e. these represent composable morphisms in $\Pi(B)$. It suffices to construct a lift $\overline{\gamma\beta}\colon F_b\times I\rightarrow E$, such that $\overline{(\gamma\beta)}_1\colon F_b\rightarrow F_{b^{\prime\prime}}$ is the composite $\overline{\gamma}_1\overline{\beta}_1$.
In cases one has a construction of this kind (I mean a construction where you make choices, which the result turns out to be independent of) and want to confirm some compatibility result (such as functoriality here), it's always the case that you will have to make sensible choices in the construction, which yield a sensible choice in the composite scenario.
In this case, this means we start with homotopy classes $[\beta],[\gamma]$ of paths, represented by $\beta,\gamma$, and choose the appropriate representative $\gamma\beta$ of $[\gamma][\beta]$. Then, we choose lifts $\overline{\beta},\overline{\gamma}$ and construct an appropriate lift $\overline{\gamma\beta}$. There's only one reasonable way to combine $\overline{\beta}$ and $\overline{\gamma}$. Namely, $\overline{\gamma}\circ(\beta_1\times\mathrm{id}_I)$ is a map $F_b\times I\rightarrow F_{b^{\prime}}\times I\rightarrow E$, which, restricted to $t=0$, equals $\beta_1$ (followed by inclusion), which is precisely $\overline{\beta}$, restricted to $t=1$. Thus, by gluing together the intervals at the respective endpoints and reparametrizing, this yields a map $\overline{\gamma\beta}\colon F_b\times I\rightarrow E$. It is the inclusion when restricted to $t=0$ by construction, and it lifts $\pi_2\circ(\gamma\beta)$, because $\overline{\beta}$ lifts $\pi_2\circ\beta$, $\overline{\gamma}$ lifts $\pi_2\circ\gamma$ and this gluing together intervals at the endpoints and reparametrizing is done in the same way as when we compose paths.