The thing about paint is...

There are different levels of paint damage, and depending on how deep the damage is, you can only do so much to fix it.

The least damage are like swirl marks,
The most damage are into the metal.

Swirl marks are easy to fix, it's only in the clear coat, and there are so many products to fix clear coats, and depending on how deep the clear coat scratch is, if its on the really fine side, waxes and clay bars are good, deeper ones require a sealant or reapplication of the clear coat.

Damage in the paint is more difficult because it obviously requires repainting, and this is where it gets tricky. Paint can be reapplied by paint markers, or filling it with liquid paint then putting on the clear coat. From experience, I know from fact that those are just temporary fixes, to allow it to look natural from a distance, a "first look" fixer, but closer inspection will show it's actually quite noticable, and therefore, not complete.

Deeper scratches, like to the metal, are very hard to camoflauge into the real paint around it from up close because you'll come upon bumps, or uneveness in the fix, so it stands out like a nail. The other thing you might do is to sand down the paint to the metal around the scratch, so it's like a bald spot where the scratch was, then you would repaint and clearcoat that whole area.

While such a fix does work well in most situations, it still looks different, because the original paint around the new paint has been exposed to light and the elements, so it may look a little more faded, or lighter. The new paint will look too new in the background of the older paint.

The true and unquestionable fix is to just repaint the entire body part, which gets costly and time consuming, but it's a guaranteed fix. If it's a big scratch, like from someone keying your car, perhaps you might consider it. A hood for instance might cost about $200-500 to repaint, it's a matter of how important it is for you to get rid of the scratch.