I think you'll find that people offering
SEO as a service will vary widely in terms of what they actually
do for their clients [obviously based on their understanding of and experience with
SEO].
While I can't [won't

] give you a 'list' of what those 100+ elements might be on any given
SEO project I can tell you that
SEO as a service includes all of what Mary mentioned and then some.
Ideally,
SEO starts at the coding level - at the build stage of a website. That doesn't always happen even now because there are plenty of website designers and programmers who don't have a thorough understanding of how the bones of a site should be structured for optimal content spidering. Relatively, there are plenty of
SEO service providers who do not understand how to write code. The best of both worlds comes with a provider who not only understands both
SEO and HTML but keeps current with Google's changing algorithms, user interaction with search results, and up to 100 other elements that can go into optimizing a site.
That's not to say that performing
SEO on a site with ineffective code would be a total wash; just that it will take longer to see results if they can be achieved and those results will not necessarily hold long term without heavy off-site campaigns as well.