The SEO term is the acronym for Search Engine Optimization. SEO is pointing to all the activities aimed at improving the visibility of your search engine website. These operations are part of the so-called organic coverage, ie non-sponsored and therefore free.
The SEM term is the acronym for Search Engine Marketing, and includes all activities aimed at targeting qualified traffic to your Web site. These activities are part of the so-called paid coverage, ie sponsored and not free.
All of these operations can be done by anyone who has knowledge of Web site optimization. Obviously, for good search engine rankings, it is best to rely on skilled and qualified people in the industry, otherwise you risk losing time and money.