A factor model has the form
$$r_{j,t}=\sum_n \beta_{j,n} f_{n,t}+\epsilon_{j,t}$$
Where $r_{j,t}$ is the return of stock $j$ at time $t$, $\beta_{j,n}$ is the sensitivity (factor loading) of stock $j$ to factor $n$, $f_{n,t}$ is the return of factor $n$ at time $t$, and $\epsilon_{j,t}$ is the idiosyncratic non-factor return. One factor can be the constant.
There are three ways to specify and/or estimate:
The classical Capm/ Fama-French where you explicitly specify the factor series $f_{n,t}$ and use time series regressions, one per stock, to estimate the betas $\beta_{j,n}$. There is no reason for the factor time series to be orthogonal, although it is useful as a risk decomposition if they are close to orthogonal (as factor variances become additive).
The Barra approach where you explicitly specify the loadings $\beta_{j,n}$ and use cross-sectional regressions, one per date, to estimate the corresponding factor moves $f_{n,t}$. There is no reason, again, for these estimated moves to be orthogonal, but being close to orthogonal is, again, desirable.
The black box PCA approach, where both factor loadings and time series are estimated simultaneously. Then we have time series that are orthogonal by construction (because we have too many degrees of freedom we put orthogonality as a constraint). However, they do not map directly to an intutive set of macro factors, although they often resemble them. Also different time windows would give rise to different factors, which might not be desirable.