From the understanding point of view, you use contents resolvers
with the Sitecore Layout
Service to provide more complex data beyond the serialization of a component data source. The Layout Service composes and serves a JSON description of the context, route, placeholders, renderings (components), and datasources that can be used to populate the data which the rendering engine uses to render the final UI of the application.
The content resolvers are a built-in mechanism that allows you to configure a rendering in a way that the data returned matches the configuration.
Out of the box, Sitecore Headless Services provides 6 resolvers, and these are in sitecore/System/Modules/Layout Service/Rendering Contents Resolvers
To know how to use the content resolvers, you can follow this blog.
https://andypaz.com/2020/10/14/sitecore-layout-service-and-rendering-contents-resolvers/
On the other hand, the ItemResolver
processor is responsible for getting the Sitecore context item by the incoming URL. If you have a URL that doesn't match with the Sitecore content tree path then you need to create a Custom Item Resolver that will be inherited from the HTTPRequestProcessor
and add it to the patch file. Here is the blog that I have written, what was my needs and how I created that.
https://sbhatiablogs.wordpress.com/2020/10/01/sitecore-commerce-custom-link-provider-and-item-resolver/
And more information on item resolver.
https://doc.sitecore.com/xp/en/developers/82/sitecore-commerce/create-friendly-urls-for-catalog-items.html