The problems that are solved are those that are amenable to precise solutions. These problems are, by definition, tightly defined, with no mushy statements or an unacceptably high number of variables. In short, these problems are easier than real-world problems that aren't conveniently narrowed. Software engineering happens to be just such a real-world problem. Meteorology concerns the complex interactions of many simple phenomena.
Meteorologists now can make reasonably accurate predictions a few days into the future.
Forecasts beyond that are shaky. This is the case even though the individual forces that create the weather can be calculated accurately by college freshmen in Physics 101. Software engineering is similar. In isolation, the items that make up a large software system are quite simple. The individual algorithms, file formats, and parameter passing mechanisms of a complex system are likely trivial.