Bitcoin Core has been designed to synchronise/verify as fast as possible. This is usually desirable, though, on systems where other applications require a reasonable amount of CPU time (ex. desktop systems) the CPU usage maximisation of Bitcoin Core may be intrusive. While it is possible to configure Bitcoin Core to use less resources, it cannot be changed during runtime which leads to unideal user experience.
Profiles could help improve the situation by allowing to change the resource consumption profile during runtime.
Ideally, profiles could be recommended configuration sets for different machine- and use-case-types while the detailed settings could be tweaked via a configuration file (user defined resource profiles).