SEO and SEM both are different ways of online marketing. You can do SEO in the free, but SEM is paid advertising on the Search engine. You can get result instant through SEM. On the other hand, SEO takes time to optimize the site. I would prefer SEO to improve website ranking.