Successful SEO depends on two things: The amount of time the SEO has to invest (which often correlates to your budget) and the skills of the SEO doing the work. Without those two things, it's difficult to answer question number one.
SEO, and digital marketing, in general, require a lot of skillsets that most people don't have. They have some, but not all. They should, however, be letting you know what activities they are doing and explaining why they are important and what the results should be.
As for the second question, there is a lot to do and it's a matter of prioritizing. Ten SEOs will tackle the same project ten different ways, but that doesn't necessarily make any of them wrong. A great resource you can use to understand what an SEO can/should be doing is webmarketingchecklist.com (disclosure: I wrote it.) This will at least give you a place to start an intelligent conversation and set priorities.
As for milestones, you need to determine what your goals are. Are you going for sales, leads, traffic or conversions? What are you getting now and what do you hope to achieve. Then have a conversation with your SEO to determine if your expectations are realistic with the time they have to invest.