The definition of a software architect varies. In general, mainly refers to those that are responsible for the higher level design of systems.
In my opinion, a great system architect is a great developer, who also have an artistic flair. Those people that, when facing difficult design problems, can often come up with brilliant abstractions. That are so clever, that feel like art. Not only in development, but also in related aspects, like UI.
Those great abstractions will increase the productivity of everyone using the system, and in the end can accumulate to very high amounts of value.
Why is "skilled engineer" better than "architect"? They are all just names - and it seems that the main reason people avoid the word "architect" is just because it has been abused in the past (and for some companies, the present). Maybe that's valid, because using the term may inadvertently make someone think that you're bought into the "no coding, but telling other people how to code" mindset.
However, I don't think "architect" is a silly name on it's own - it's just another piece of vocabulary we use to describe a certain role. It's no different to me than "VP" or "Janitor" or "Test automation engineer".
Architect, chief engineer, principal, fellow. These all mean 'put out to pasture'. These are supposed to be positions of leadership, but with no direct reports there is no one forced to follow. Developers who already have to deal with the business bureaucracy are not going to listen to someone because of a fancy title that does more politicking than development.
Plus architect gives the image of a scarf wearing drama queen who throws tantrums.
In my experience that architecture roles can definitely mean that at a lot of companies (the pasture part specifically, but I would like a scarf). To some degree it's natural to let the role end up like that, but as the person in the role, you have to work to make sure you're still involved with all teams even if you don't have any direct reports.
What do you mean, a silly name? There are lots of different types of engineers, whose skills lie in different places. Some are great at debugging, some are great at algorithms, some are great at plugging together API's, some are great at program architecture.
Those last ones are just called architects, just like there are back-end and front-end and database engineers. What do you have against a name?
In my opinion, an skilled engineer is not necessarily an artist. A great architect is an artist. That why it does makes sense to do the differentiation. And each one will excel at different roles.
HR has taken to calling low-level programmers "engineers" for some silly reason which makes the term meaningless. "Software Architect" is the new term for what used to be called a "Software Engineer", the one person in charge of the design of the whole system. In ten years the ads will probably be calling for "Software Architects" with two years of experience, and we will need another new word to describe the job of the software engineer / architect / ???.
all levels of developer are "skilled engineers". The purpose of having names like junior, senior and so on is to hash into the job title some notion of their experience level.
This might be silly to you, but since you're a mathematician, I am rather surprised the reason for names is not obvious.
In my opinion, a great system architect is a great developer, who also have an artistic flair. Those people that, when facing difficult design problems, can often come up with brilliant abstractions. That are so clever, that feel like art. Not only in development, but also in related aspects, like UI.
Those great abstractions will increase the productivity of everyone using the system, and in the end can accumulate to very high amounts of value.