While I think your assessment is correct, I do want to note that it's not like starting with Eagle, Altium, Orcad, etc is going to be easier. Just jumping into a complex, domain specific piece of software is tough, but totally worth it here.
Right - the problems attacked by these programs are inherently hard, I think. Some projects care a lot about things that are completely irrelevant in others (BOM management, creepages, RF concerns), etc. Any given component might have a single schematic symbol, multiple footprints, and several parameters which may or may not change with either of those (flash size/temperature rating/etc). Then, what's the right way to attach any library changes to the project where they are applied, how do you handle changes...