@C_R
Both solutions are correct, but the separable one requires assumptions to obtain zero result from odetest while the dAlembert one does not. In this sense, the dAlembert solution is preferable.
Download difference_in_separable_and_dalembert.mw
I guess the rule of thumb here is this:
If we can find a method to solve non-linear ode in y', as in this example, without first having to solve for y' , then use that method.
The dAlembert method does that, it does no require isolating y' first.
While in the case of solving as separable, we have to first solve for y' to isolate it, and then solve the resulting ode as seprable. This is the main difference I see.
I solved this ode by hand using both separable and dAlembert methods. I see nothing wrong with the separable approach, this is how we solve this at school. The only difference as I said, is we have to isolate y' first. And this seems to be the cause of the trouble even though I can't still see why and what is wrong with doing that. May be someone can see the subtle mistake if any in the separable solution method.