Compare how much it costs to get paid traffic through Google adwords and you will understand that paying someone $3000 or more is a hell of a bargain (if they know what they are doing of course.)
I guess it all depends on your business to fully understand if it is worth it for you or not.
Comparatively, With adwords you are paying for every click. With SEO you are paying a fixed price. With SEO you are making it so that you get traffic organically from Google for free.
Let's say I started getting 7 to 10k visitors per month and resulted in 500 orders and about 20k monthly profit. So if someone charged me 19k per month then It would still be worth it for me financially.
You have to look at the return of investment. The SEO guy doesn't really know what kind of money you are making, so he will charge a fixed price. For some industries SEO may not be worth it, but for many people it is a hell of a bargain. And I am not expert in SEO, i really just got lucky. My advice is learn the basics yourself so that you don't get scammed. Make sure the person you hire is telling you exactly what they are doing. Someone in SEO has to be learning constantly, so if they are doing things that don't work anymore then you can call them out on it. All resources can be found with some google searches, SEO knowledge is free and easily accessible but it requires patience and a lot of time.
The real trick to SEO is You have to make it appear that your business is growing naturally. If Google catches on that you are doing any type of SEO then you will be penalized. Good luck!