This is really a variation on manzana’s answer to show $O(n)$ has two components, but I wanted to describe it in the way that I think about orientations.
We may think of an element of $O(n)$ as an orthonormal frame $(v_1,\ldots,v_n)$, $|v_i|=1$, $v_i\cdot v_j=0, i\neq j$, giving an orientation of $\mathbb{R}^n$. For $n>1$, we may rotate the first $n-1$ vectors to $e_1=(1,0,\ldots,0), e_2=(0,1,0,\ldots,0), \ldots, e_{n-1}=(0,\ldots,0,1,0)$. To do this, rotate the first vector $v_1$ to $e_1$, which we may do since $S^{n-1}$ is connected (and rotating the rest of the frame along at each step). Then rotate $v_2$ to $e_2$ while keeping $e_1$ fixed using that the sphere $S^{n-2}=S^{n-1}\cap e_1^\perp$ is connected, and so on until we get to rotate $v_{n-1}$ to $e_{n-1}$ keeping $e_1,\ldots, e_{n-2}$ fixed using $S^1$ is connected. Moreover, this rotation is canonical and sends $v_n$ to $\pm e_n$. Thus we see that $O(n)$ has two components, and the determinant is the sign of the last vector in the orthogonal frame that we have rotated to.
Of course, to prove this rigorously (to see that we indeed get two components), one must proceed by induction on dimension and use a fibration as in manzana’s answer. But I thought I would point out that this is how I (and maybe others) intuitively / pictorially think about orientations of $\mathbb{R}^n$ via the components of the space of $n$-frames.