Wow. Another blanket statement. Not only that, but you said it yourself, she "asked for good SEO companies..." and yet you immediately go against what was asked for. Wow people!
Frankly, many people do not want to do SEO themselves, do not know how to, and want to focus on their business, their strengths, and leave the SEO to experts. Ever hear the term "delegate"? How about "outsource"?
Just because something is best or right for you doesn't mean it's best for everyone. Yes, some people should take the time to learn it themselves (which is a "rabbit hole" that can take a LOT OF TIME), and then take the time to do it themselves. That, however, is hardly a "one size fits all" best answer.
So my suggestion again is at least talk to http://7strategy.com and if it seems like a good fit, get a proposal. I promise you, doing just that is a lot easier than trying to learn SEO and then actually taking the time to try and do it, learn from you mistakes, etc etc.