Contracts are half-baked, rejection justified
Many argue C++26 contracts add complexity and new footguns (like observe mode UB, ABI mode conflicts) while offering little over existing assertion frameworks, concepts and constexpr, so the national bodies were right to vote no.
Contracts still have real value
Others counter that runtime invariant checking and pre/post annotations visible to static analyzers are useful, and the feature wasn't worth killing a whole standard over; a simplified version should return.
C++ has too many features
A broad thread argues the committee keeps piling on pet features and should slow down, fix existing messes like std::regex, char8_t, filesystem and build tooling, and prioritise safety and simplicity.