SEO refers to improving your site and it's backlinks so that it appears in a better position in organic/unpaid search listings. SEM refers to using paid search programmes, such as adwords
According to wikipedia: SEO: Search engine optimization (SEO) is the process of improving the volume or quality of traffic to a web site or a web page (such as a blog) from search engines via "natural" or un-paid ("organic" or "algorithmic") search results as opposed to other forms of search engine marketing ("SEM") which may deal with paid inclusion. SEM: Search engine marketing, or SEM, is a form of Internet marketing that seeks to promote websites by increasing their visibility in search engine result pages (SERPs) through the use of search engine optimization, paid placement, contextual advertising, and paid inclusion
SEO is the process of promoting our site into the search engine by using on page and off page techniques. SEM is the process of marketing our site into social media site such as twitter and facebook.
SEO= Search Engien Optimization, it's comes all link building method off page and on page, where as SEM= Social Media Optimization, only Marketing Product Services through Social media site like Twitter, Facebook, digg, myspace etc
Others have stated the difference but we must also realize their similarities. Now with G Caffeine we see SEO and SEM beginning to merge as social media results become interwined with search engine results. People are even using FB as a SE, albeit a small %. Be sure to optimize all your social profiles, and your tweets/status updates.