The prefix 'in-' comes from Latin and almost exclusively applies to words borrowed from Latin. Moreover, in many cases, the 'in-' prefix was already attached.
The prefix 'un' is a native English prefix, and so, in general, can apply to any English adjective.
So, as you might guess from the above, where we have different prefixes meaning pretty much the same thing, the reason why is related to whether the original word was English (Anglo-Saxon), Latin, Greek, or French!