もし can be used with hypotheticals to reinforce that nuance. Reinforcing that something is hypothetical means you’re less certain about it. For example, you’ll often see もし in expressions like “もしよかったら…” because the speaker doesn’t want to presume how the other party feels.
If we’re comparing なら and たら only, then the biggest difference is that the sequence of events is reversed.
In “AたらB”, event B occurs after event A. “Once/when/if A happens, then B.”
In “AならB”, event A can occur after event B but not before it. “If A is/were/will be the case, then B”.
I found this example on Amazon (as a sticker):
飲んだら乗るな - don’t drive if you drank something
乗るなら飲むな - if you’re going to drive, don’t drink
From a learner’s point of view, the bigger point is that たら can be used for almost all conditionals (as long as B follows A) while なら is much more restricted and is primarily used for hypothetical statements (if A is the case) and counterfactual ones (if A wasn’t the case) - however, たら can often be used for these as well.
The primary use case for なら where たら can’t be used is when there is no temporal relationship at all. For example:
日本語の文法を勉強するなら文プロがいい
If you’re going to study Japanese grammar, bunpro is good
(I guess the English translation isn’t optimal, but I wanted to use “if”…)
I found this page (in Japanese) with a table that indicates when which conditional can be used.
According to the table, たら can be used for everything except:
- natural conditionals like “if A happens, then B always happens” ( なら also can’t be used)
There’s a triangle instead of a cross because たら is still OK-ish in speech but と and ば are more natural.
This is an example from the link that is described as OK but not really natural:
春になったら、桜が咲きます
I can say this right now because it’s winter where I live. Once spring comes around, the cherries will blossom. But it can’t really express “Cherries blossom in spring” (every time, naturally) like と could.
- past habits like “every time when A, I used to B” (なら can also not be used)
たら doesn’t work here because it’s not just one event; it can be used for one-off events that happened in the past (“when A, then B happened”).
- when there is no temporal relationship (only なら works), e.g. as in my previous example above.