(see also Chern-Weil theory, parameterized homotopy theory)
In the most general sense, a bundle over an object $B$ in a category $\mathcal{C}$ is simply an object $E$ of $\mathcal{C}$ equipped with a morphism in $\mathcal{C}$ from $E$ to $B$:
One often refers to such a bundle simply as $E$, even though $p$ is really part of the data.
For $x \in B$ a generalized element of $B$, the fiber $E_x$ of the bundle over $x$ is the pullback $x^* E$.
One generally considers bundles with extra properties or structure:
etc.
The category of bundles over a given object $B$ is the over category $\mathcal{C}/B$. The collection of all bundles in a given category $\mathcal{C}$ therefore arranges itself into the codomain fibration $cod : [I,\mathcal{C}] \to \mathcal{C}$. As such, the descent for bundles may be expressed as monadic descent with respect to the codomain bifibration. This does in general not work inside one of the more restrictive subcategories of bundles with extra structure and property, as the push-forward operation typically does not respect these extra conditions. For more on this see monadic descent of bundles.
In physics, gauge fields may be described in terms of bundles with connection.
bundle, display map
fiber bundle / fiber ∞-bundle
A useful collection of introductory notes to fiber bundles, vector bundles and fiber bundles with connection is at