The answer to this will depend on what it is you are trying to do.
SEM is a paid advertising service that will start driving traffic to your website straight away. This is great if you are wanting instant traffic, and works exceptionally well if you are running a campaign or promotion. The downside is that the moment you stop paying for the advertising, the traffic stops.
SEO is a method of building organic traffic and can take several months in order to build up the visitor count. This is generally used to promote the whole website rather than just a specific campaign or promotion. Another bonus is that even after all the SEO contract period is complete, the traffic will continue to flow.
In the end, it does not have to be a choice between one or the other, as they both have their benefits. For best results, it is worth doing a bit of both.