The problem with inpainting, or content aware fill or object removal as it may be called, is where the fill-in data comes from. Software [so far] is not able to look at the photo and determine what makes sense for the scene, e.g., where does the sky or a building or something like a tree trunk end, so it might pull data from parts of the picture that in context just don't make sense. Sometimes you can cut up a photo, selecting part of it & copying that selection to a new layer or document, then removing whatever there -- that way you strictly limit what can be used to fill in the blank space. Inpaint has gotten more sophisticated over the years, and now has 3 tools that help -- you can select what you want to remove, where the replacement data should come from, and guidelines that can help preserve things like sidewalk or building edges.
I tried Inpaint on an Extremely difficult test -- removing the fence post in a photo of an owl landing on a fence post surrounded by brambles. Part of the owl's tail feathers were obstructed by the post, with No available data on what that portion, those tail feathers should look like. There are only two ways to really accomplish this feat: use another photo of the owl a bit higher in the air, so you can capture what the tail feathers actually look like, or paint in the part that was missing. Inpaint came much closer than Corel PaintShop Pro 2021, and arguably tied what I could achieve playing around for several minutes with Photoshop's Content Aware Fill. That's darn good.
Lots of people will just say use the clone tool, but that requires a bit of artistic skill, & it's Very difficult to match texture & graduated lighting, especially without leaving patterns &/or brush strokes behind. And it's near impossible to clone random stuff like grass or tree branches etc. without the cloning being obvious.
Inpaint as always is a one file app that adds a single key to the registry.