As you know pronouncing 'consonant + consonant' is a little bit difficult.
When you pronounce a consonant, you have to move your tongue quickly.
And that means you have to move your tongue twice quickly to pronounce 'consonant + consonant'.
으 is kind of a midium used to pronounce 'consonant + consonant' easily.
For example 산+으로(to the mountain).
Basically 산으로 is 산로.
But it is difficult to pronounce 산로 cause there's 'consonant + consonant(ㄴ + ㄹ)'.
Putting 으 between ㄴ and ㄹ makes it easy to pronounce like /사느로/.
That's why the rule 'putting 으 between a consonant and 로' was created.
But there's one exception to this rule.
If 받침's consonant is ㄹ then you don't have to put 으 between ㄹ and 로.
For example 칼+로(with a knife).
There's 'consonant + consonant' but both are same ㄹ.
You don't need to move your tongue twice. Just once.
It's already easy to pronounce and therefore putting 으 is needless.