They can sometimes be interchangeable but they don't always mean the same thing.
small - a size that is less than normal or usual or average.
little - small in size, a small amount, not a lot
a small milk - a small size serving of milk
a little milk - a small amount of milk
Only attributive adjectives (the ones just before the nouns) have to match their endings to the gender, number and case of the nouns they refer to: "Ein starker Mann" ("der Mann") = 'A strong man'; "Eine schöne Frau" ("die Frau") = 'A beautiful woman'; "Ein kleines Zimmer" ("das Zimmer") = 'A small room'.
Predicative adjectives (the ones that come after the nouns and that are liked to them by a verb) remain invariable: "Der Mann ist stark" = 'The man is strong'; "Die Frau ist schön" = "The woman is beautiful'; "Das Zimmer ist klein" = 'The room is small'.
I believe it's because Klein does not directly modify Zimmer because it is after the verb Sind. If it were Unsere kleines Zimmer, then the adjective would have to agree with the noun it modifies, but since it's Unsere Zimmer sind klein, the adjective does not have to agree.
I believe Stephen is correct. Because "klein" is the object of the sentence, the neuter form is used; whereas if you were to say "Unsere kleines Zimmer (our small roomes)", the adjective describes that specific noun and not necessarily the focus of the entire sentence.
Consider the sentence "Unsere kleines Zimmer sind neu." (Our small rooms are new)
"Neu" describes "unsere kleines Zimmer", but "kleines" only describes "Zimmer".
I've studied German for several years, but my grammar is a bit rusty; so if anyone finds that I am wrong, please correct me for all of our sakes :) .