The critical difference is that ~たら assumes that the prior action has been completed before the subsequent action begins. Accordingly, a more accurate translation of ~たら would arguably be ‘once’.
| 仕事が終わったら有楽町に行く。(〇) |
| Once work has finished I’ll go to Yurakucho. |
In other words, we can’t start going to Yurakucho whilst we’re still working. One action needs to finish before the other starts. とき, on the other hand, is more flexible in this respect, although for actions that are naturally sequential ~たら is usually the better choice.
| 仕事が終わるときに、有楽町に行く。(△) |
| When work has finished I’ll go to Yurakucho. |
Note also that the tense of the first clause does depend on the relative timing of the action (as it does in English).
| 仕事が終わったときに、有楽町に行った。(△) |
| When work finished I went to Yurakucho. |
For other sentences the difference is less distinct.
| 駅に着いたら雨が降っていた。(〇) |
| Once I arrived at the station it was raining. |
| 駅に着いたときに、雨が降っていた。(〇) |
| When I arrived at the station it was raining. |
Both sentences are acceptable here because we don’t know when it started to rain, anyway.
At other times the meaning changes substantially.
| お父さんは新聞を読んだら、ラジオを聴く。 |
| Once my father has read the newspaper he will listen to music. |
| お父さんは新聞を読むときに、ラジオを聴く。 |
| When my father reads the newspaper he listens to music. |