Hire a consultant if you want advice and have someone to do the work, or your budget is small and the market quiet. Hire an agency if you want the content, technical fixes, links and reporting done for you every month. Either way, judge them on enquiries, transparency and who owns the work.
A consultant is often cheaper per hour and you deal with one expert. The risk is capacity: one person covering strategy, writing, development and outreach can stretch thin, and holidays or illness stop the work.
A small agency gives you a team without the layers of a large one. Ask who does the work day to day. At Scalepoint you deal with the people doing it, not an account manager.
This is one part of a bigger picture. How to choose an SEO agency in Melbourne covers costs, contracts, what good SEO includes and how to spot a bad agency in one place.