Here are some possible reasons:

1. The adjective is not really an adjective. Often, invariable adjectives are nouns masquerading as adjectives. This is the case with most of the color adjectives in the list above. 'Orange', for example, is first and foremost not a color but a fruit.

2. The adjective is an abbreviated form of a longer adjective, and the ending gets chopped off along with the second half of the word.

For Example, 'sympa' is a contraction of 'sympathique'


You can say...  
  Ma soeur est sympa.          
Which is short for...  
  Ma soeur est sympathique.


Or, in the plural you can say...  
  Mes soeurs sont sympa.        
Which is short for...  
  Mes soeurs sont sympathiques.

 

Really, it does agree. You just can't see it.

 

3. The adjective has been borrowed from another language.

Words borrowed from other languages don't always fit in very well. It is easy to use the base form, but there is often no feminine or plural form to borrow with it, or else it gets forgotten in the transfer. It doesn't really make sense to try and add French endings to a foreign word.

C'est une cravate très chic.

 

 

To form the feminine, would you add an 'e', like a regular adjective? or an 'he' as in blanche? or replace the 'c' with a 'que' as in publique? or add a 'que' as in grecque? None of these options feels right.

Elle porte toujours des jupes kaki.

Kaki (khaki) comes from Urdu (the language of Pakistan and parts of India), so it would make more sense to add the Urdu feminine plural ending in this sentence. Any idea what it is?

It's too much of a headache. And if you did add endings, the result would be bizarre.

Les Spice Girls sont vachement cooles !

YUCK!