This answer discusses smooth fiber bundles.
In a way, every fiber bundle with structure group $G$ can be represented by a principal $G$-bundle, where $G$ can be any Lie group. So, if you understand principal bundles, all I need to do is explain the above claim.
Let $\pi:E\to B$ be a fiber bundle with fiber $F$ and structure group $G$. This means that $G$ is a Lie subgroup of $\mathrm{diff}(F)$, the diffeomorphism group of $F$, and that we have the following data:
$1)$ An open covering of $B$ by the sets $\{U_\alpha\}_{\alpha\in I}$.
$2)$ A trivialization $\psi_\alpha:U_\alpha\times F\to \pi^{-1}(U_\alpha)$ for every $\alpha\in I$, such that all the induced transition maps $\varphi_{\alpha\beta}:U_\alpha\cap U_\beta\to \mathrm{diff}(F)$ admit values in $G$.
The associated principal $G$-bundle, $P\to B$, can be described, as a set, as follows. For a point $b\in B$, the fiber $P_b$ consists of all the diffeomorphisms $F\to E_b$ which agree with the given bundle data. Namely, let $\alpha\in I$ be such that $b\in U_\alpha$. So $\psi_\alpha|_b$ is a diffeomorphism $F\to E_b$, and the fiber of $P$ over $b$ is defined by
$$
P_b:=\psi_\alpha|_b\cdot G.
$$
This is well-defined, as all transition maps are in $G$.
We now describe a smooth structure for $P$. By construction, the set $P|_{U_\alpha}$ is isomorphic to the set $U_\alpha\times G$ (an isomorphism is given by the trivialization $\psi_\alpha$). Equip $P$ with the smooth structure that turns all those set isomorphisms into diffeomorphisms. By construction, there is a natural $G$ action on $P$, which turns $P$ into a principal $G$-bundle.
Let us think of vector bundles as examples for the above construction. A real vector bundle $E\to B$ of rank $k$ is a fiber bundle with fiber $\mathbb{R}^k$ and structure group $GL_k(\mathbb{R})$. The above procedure leads in this case to the frame bundle of $E$. If $E$ is equipped with metrics on the fibers, then it becomes a fiber bundle with structure group $O(k)$. Then, the procedure leads to the orthonormal frame bundle. Similarly, any additional structure on $E$ which can be described in terms of the structure group leads to a smaller subbundle of the frame bundle.
Edit: This is a continuation of the previous paragraph. Say we have a vector bundle $E\to B$, and we want to determine whether this is a trivial bundle or not. As explained above, the vector bundle $E$ is encoded by its frame bundle $P$, which is a principal $GL_k(\mathbb{R})$-bundle. We know that $P$ is trivial if and only if it admits a global section. This means that $E$ is trivial if and only if it admits a global frame. In a similar way, one can understand any fiber bundle by examining its associated principal bundle.