Here's the ICC description of a "profile"
ICC.1:2010 specifies the profile format defined by the International Color Consortium ® (ICC). The
intent of this format is to provide a cross-platform profile format for the creation and
interpretation of colour data. Such profiles can be used to translate between different colour
encodings, and to transform colour data created using one device into another device’s
native colour encoding. The acceptance of this format by application and operating system
vendors allows end users to transparently move profiles, and images with embedded profiles, between
different systems. For example, this allows a printer manufacturer to create a single profile for
multiple applications and operating systems.
A CMM is mostly a module that does math. It's coded to run on a CPU, most commonly a iOS, Windows, or Linux system. It performs the math for applying a profile. A CMM, properly constructed*, will produce highly consistent results for printing because the ICC defines their requirements. OTOH, a Profile is a binary object that is independent of OS's. The same profile can be used on any system. But a printer profile is specific to each printer and paper combination even though it can be used in any OS. A profile is a binary recipe that provides consistency more than anything else by mapping the printer's actual RGB (or CYMK) response to/from what colors it will actually print.
But not all CMMs are created equal. There have been different interpretations of what a CMM should do in certain circumstances. The most serious differences are mapping RGB colorspaces that have different white points. Microsoft's CMM, designed 20 years ago or so, will produce a vastly different image converting Adobe RGB to ProPhoto RGB using Abs. Col. with a large blue shift while Adobe's CMM will not. Adobe's follows a "clarification" the ICC made around 2002 while Microsoft's retains an older interpretation.
Microsoft's CMM also makes larger, though still small, errors converting back and forth between colorspaces.