finalを付けると、代入( = ) が使えないだけと言う認識でいたのですが、
他に何か特別が意味があるのでしょうか?

例えば、finalを付けるとインナークラス内でも参照可能になるのですが、
なぜ参照可能になるのか、理論がわかりません。

final Map map = new HashMap();

Map mapTest = new Map() {
public void clear() {
map.put("test", "1");
}
}