Do you have a SES light on? Or intermittently flashing? Many drivetrain (engine and tranny) codes will suppress cruise control operation. Or as previous threads on the same subject have discussed, a hair-trigger brake switch or dirty multifunction switch can do it.
But rather than shotgun and throw parts at the problem, the GM designers did one clever thing. They retain in PCM memory a list of the last few reasons that CC was turned off, whether it was by a brake light, SES code, or the switch. Get a dealer or somebody with a high end scan tool to look at that memory section and you will know for sure what to look at and fix next. Admittedly some dealers overcharge for this simple service, so call around.