SEO is unpaid activity and SEM is paid activity. Means for SEM you will have to pay to Google for every single click by user whereas SEO stands for search engine optimization in which you will have to optimize your targeted keywords as per your url's and web pages.
The difference between SEO and SEM is very simple. There are two methods for appearing on a search engine one is free also known as organic and other is paid also known as inorganic.
The free technique is done by SEO and the paid technique is done by SEM.
SEO: search engine optimisation
SEM: search engine marketing
The basic difference between SEO and SEM is very much clear that SEO is the method to be visible in search engines without any cost and SEM is method to be prominent in search engine with paid techniques and tricks.
SEO stands for Search engine optimization whereas SEM stands for Search engine marketing. SEO gives you long-term benefits but you also need patience for your website/keywords to get ranked. Whereas SEM gives you results only when your campaign is active.