Boundary conditions in Sturm-Liouville problem looks like this: $$ \alpha_1 y(a)+\alpha_2 y'(a)=0 $$ $$ \beta_1y(b)+\beta_2 y'(b)=0 $$ The ordinary boundary conditions for boundary-value problem looks: $$ \alpha_1 y(a)+\alpha_2 y'(a)=\gamma_1 $$ $$ \beta_1y(b)+\beta_2 y'(b)=\gamma_2 $$ Why in Sturm-Liouville conditions $\gamma_1$ and $\gamma_2$ both zeros? Does it have some hidden (or physical) sense?
If you want a solution with $\gamma_1\ne 0$ and/or $\gamma_2\ne 0$, then you can subtract a function from your solution that satisfies the non-zero endpoint conditions, and you have effectively converted the problem to an inhomogeneous problem with homogeneous endpoint conditions, which can be solved using separation of variables.
Methods of linear algebra may be brought to bear on vector spaces. The space of solutions satisfying homogeneous boundary conditions is a vector space, whereas the space of solutions satisfying inhomogeneous conditions is only an affine space. Moreover, there is an easy way to translate the homogeneous vector space into the affine space: by translation!