It's your slicer that determines the speeds at which you print. The firmware limits those speeds to whatever you have set in the Configuration.h if it tries to go past them. Slic3r and Cura have settings whereby if a layer will take less than a certain amount of time, they will slow the printing speed to allow for the filament to have time to cool. That might be why you see some different speeds, although the slicers generally have different speed settings for inside perimeters, outside perimeters, infill, solid infill, top solid infill, bridges, etc. Some also usually print the first layer slower than the rest.
If you are having problems with rounded portions of your print, you might want to look at the xy jerk settings. And possibly just slow the printing speed if necessary.