Does SEO guarantee I will sell my product or service?
SEO can have a big impact on your website. However, there are never guarantees that more visitors means more customers. There are lots of things at play, the landing page, how you drive customers to your product, whether it is online, or at your business location. Generally speaking, more visitors to your website often correlates with more customers, and in my experience, it is closely related. However, there are cases when someone is selling a product or service, that could be above market value, poor name recognition, etc. and they are not seeing the same success.
I have seen one client go from being nowhere on search engines such as Google, to being 4th place, consistently, on all key terms, within 2 months of us working with them with local SEO. However, this individual in particular was promoting something available at a later time, and some might assume that just because they are so high on search results, they should have customers immediately. Think of it as getting a new retail location; it can look great, you can even post ads to get customers in, but it's up to you, your website, and your branding to actually sell the products.