Polished concrete is really beautiful but unfortunately quite delicate. The problem you're describing (the dulling) is caused by regular detergents that leave residue and alter the shine. The solution is to use products specifically made for ground or polished concrete - look for ones with neutral pH, otherwise you risk wearing down the finish over time. When you clean, use warm water with a heavily diluted detergent, dab it well with a soft cloth, and most importantly always dry it afterward. Completely avoid acidic products (like those for heavy degreasing) and hard brushes.
For routine maintenance, a damp cloth with water and a few drops of neutral detergent is the most you should do. If you want to restore the shine, there are sealants specifically made for polished concrete that you apply every 6-12 months depending on wear - it's not a difficult job, you just need to follow the instructions on the package. These sealants not only restore brilliance but also protect against scratches.
With actual scratches it's more complicated: if they're superficial, the sealant can minimize them. If they're deeper, you need localized sanding that's best done by someone with the right equipment, because doing it yourself you risk making things worse. In the meantime, use the sealant to protect it further. Regular maintenance really is the key to keeping concrete in good condition without damaging it.