Most of this is a blizzard of confusion thrown at a new user.
Mathematica is not just a programming language. A much better paradigm is that it's a piece of paper, or medium, on which you can write and do mathematics. A very special medium because of its active and dynamic capabilities. Capable for not only doing calculations, but for building capability and the best communication medium of all. And not that difficult to use if new users are not always led up blind alleys.
The statement that .m and .wl files do not have cells is totally misleading. A Mathematica notebook at its most basic level is also a text file, But that is not the level at which most users should or would interact with it. All of these files, .nb., .m, .wl, do have cells. A .m file has a Title cell, (sub)Section cells, Text cells, initialized Code cells and uninitialized code cells where you could retain some old versions of code.
It's easy. Why all this confusion for new and some old users?