Japanese has various expressions which roughly correspond to "if" just like English also has "when," "unless," "as long as," "in case," etc. If you want to learn them systematically through grammar and translation, it might be better to compare them side-by-side than learn each one-by-one individually.
Here is a good summary of the four major Japanese "if"s, namely 〜と, 〜たら, 〜ば, and 〜なら. It's based on how various textbooks for beginners explain these, so it should be concise but good enough for intermediate learners. If you want more than that,
this is a much more comprehensive and thorough explanation about the same topic including 場合. I've never seen a more detailed treatment on this.
Since this topic is too complicated to fully explain in one single forum post, I'll focus on the more important differences between なら and 場合 which generally work for many cases and ignore less frequent usages and exceptions.
But first, let's fix one easy problem you seem to be having. You seem to be confusing the "as for"-ish なら (such as ならs in 日本なら、一回も行ったことがない。and 新聞ならここにあるよ。) with the more "if" kind of なら. You might have learned that particle "は" is "as for," "speaking of," and the like. But this kind of なら also works like these English "topic marking" phrases. In fact, you can replace this type of なら with は without changing the general meaning of a sentence, though it loses the explicit topic bringing sense. You may think this use of なら is closer to "as for" and "speaking of" than particle は, although neither is completely the same as the English equivalents.
This topic marking kind of なら usually follows a noun or noun phrase. A quick and dirty way to check if it's of this kind is to swap it with は and see if the meaning significantly changes and/or the sentence becomes ungrammatical. For example, replacing なら in あなたが行くなら私も行こう results in an ungrammatical sentence while あなたならできる and あなたはできる mean roughly the same. Here is an example where なら is directly following a noun so the swapping doesn't make it ungrammatical but changes the meaning entirely: 風邪なら学校やすめばいいじゃない。(You don't need to go to school when you're sick, you know.).
Your teacher may have treated the two kinds of ならs as the same usage because you can still translate a sentence with "as for"-ish なら into English by using "if", but the meanings and usages are very different. So I recommend you distinguish between the two.
Anyway, we only treat the "if" kind of なら here and see how it's different from the "if"-ish 場合 usage. Note that なら and 場合 have multiple meanings and usages which can be "if" and such in English, so the following explanation is far from comprehensive. Also, I leave explanations about grammatical differences (such as what kind of word can be followed in the grammatical sense) to the links I provided in this post or your teacher/textbook.
One of the biggest differences in nuance is that when you use なら, most of the time you're picturing in your mind a situation where the condition/hypothesis holds or putting yourself in others' shoes in a sense. And often you're stating your subjective opinion. So, it's often used when you respond to what someone just said or talk about the situation you (or someone else) are in right now. For example:
A: 萌えアニメとかどれ見てもマジきもい。(I hate moe anime. They always creep me out.)
B: なら見んなよ。(Don't watch them then. )
A more textbook style Japanese would be 萌えアニメを気持ち悪いと思うなら、見なければよいと思います. And what B is saying is, "If I were you, I wouldn't watch anime that I knew would creep me out, you motherfucker."
The "if"-ish 場合 is generally more objective and analytic. It works very well when you state a logical conclusion in a dry tone of voice. Instruction manuals tend to prefer this kind of 場合. Also, it implies that the speaker knows there are multiple possible cases or situations but one particular case/situation is chosen. Hence, you can't use this kind of 場合 when something is always the case or always happens within a reasonable time frame. Hence, 春が来た場合、桜が咲きます sounds odd in normal context. A possible situation this sentence works in is when you just omitted 予想より早く in the conditional clause because it's obvious from the context. Another possible context would be humans bucked Earth up too much so scientists are saying spring as we know may no longer come.
Here are some comparisons between なら and 場合. 雨が降った場合は中止になります is a dry and straightforward statement that tells you the fact that if it rains, it'll be canceled. But 雨が降ったなら中止になります sounds like the speaker just heard that it rained and is saying, "If that's the case, it'll be canceled."
まちがい電話をかけたなら、ちゃんと謝ったほうがいいです sounds like the speaker just heard or noticed that you got the wrong number. And he pictured this situation in his mind and thought you should say sorry. So he is suggesting you say sorry as his "if I were you" kind of opinion. Also, this is not a general statement. It may be a general truth that it's better to say sorry when you get the wrong number. But what the sentence is referring to is one specific instance.
まちがい電話をかけた場合は、ちゃんと謝ったほうがいいです is a dry statement about what you're supposed to do in such a situation. What this sentence is saying is that there are two possible situations, i.e., you get the right number or the wrong one, and that when the latter is the case, it's better to say sorry. No specific instance is in the speaker's mind.
Since the difference is mainly what's happening in the speaker's mind, either wording may work in many situations. But the nuances they carry are always different.