This is a very simple question, but I feel I'm missing the bigger picture.
Authors will talk of the horrors of nonlinear differential equations and that they're very difficult to solve, but why are they so much more difficult to solve than linear differential equations? Is it just that linear DEs are such a simple and specific class that there are lots of methods which have been derived to solve them, and that we can often approximate nonlinear systems with linear systems by some kind of linearisation?
It makes sense to me that, one very significant advantage of linear DEs is that one can find all of the solutions by linear combination, and that of course, for nonlinear DEs one may only be able to find certain specific solutions, and that these alone may not be of much use with regards to finding others. Is this one of the main reasons why linear DEs are favoured over nonlinear DEs?
Also, I have heard authors refer to the Navier-Stokes equations as 'very' nonlinear - what is it which makes them particularly nonlinear?
The problem with non-linearity is that it exhibits behaviors that are way more pathological than what one can find in a linear situation.
The paradigmatic examples of such issues are given by Peano in his article from 1890:
Consider $u'(t) = \sqrt{u(t)}$, with initial condition $u(0) = 0$. At this point I'm going to quote the answer to this subject Solve the differential equation: $dy/dx=\sqrt y,\ y(0)=0$
``While you can solve the equation by separation of variables, as mentioned in the other solutions doing so, you're supposing that the solution is not equal to zero in a neighborhood of 0. A pretty strong hypothesis as the always vanishing function is also a solution. A good example of an ODE having several solutions!''
This might sound like a small things, but there actually exists nonlinear ODE for which one can derive four different types of solutions.
Nonlinearity can also exhibit a different kind of problem, namely explosion in finite time. For instance, if you solve this ODE for non-negative time $t$,
$$u'(t) = u^2(t), u(0) = u_0 > 0, $$ you will find that the solution reaches $+\infty$ in finite time, a behavior which is a consequence of the nonlinearity.
If that is not enough to convince you that nonlinearity is harder to handle, consider
$$u'(t) = - u^2(t), u(0) = u_0 > 0. $$
This is the exact same equation as before, except for a minus sign in front of the nonlinearity... and yet the behavior of the solution is radically different, since it does not explode in finite time !
Hope this little review helps to understand why nonlinearity is, in general more involved and not that easy to handle.