There is a great article series explaining the resource system of Hearthstone. In the context of your question, this is what can be learned from it:
Unlike, say, Yu-Gi-Oh!, where card advantage is extremely important and pretty much all that matters, it has a much less prominent role in Hearthstone, where the other resources (tempo and hero life) are a lot more important. The classical "1-for-1" or "2-for-1" terms only account for card advantage, which is a generally good measure of a move's value in games where card advantage is highly relevant. But in Hearthstone, other factors are very important and simply comparing the number of cards involved doesn't cut it.
For example, if I use my 4-mana Fireball while I have a Spell Damage +1 minion to destroy your 7-mana War Golem, while it's technically a 1-for-1 trade (and it really is a neutral move in terms of card advantage), I will still have made a better move than if I had destroyed your 0-mana Wisp instead (which would also be 1-for-1 and thus a neutral move in terms of card advantage). This falls into the category tempo, which, generally speaking, measures mana cost involved. The more efficiently you use your mana, the more tempo you generate (assuming you consistently use up all your mana). So in this example, while both moves are +/-0 in card advantage, they differ greatly in tempo, the former being a +3 tempo gain, the latter being a -4 tempo loss.
Now bringing in hero life, a third resource enters the equation, and in Hearthstone, this is an important one because only Taunt can stop the opponent from just hammering it down (staying with Yu-Gi-Oh! as a comparison, any Monster will stop the opponent from attacking your life points there, so they are far less vulnerable and thus have less value in relation to card advantage). What you get is a 3-element vector of resource effect. The example above would result in a
[0 +3 0] vs. a
[0 -4 0], while the case you mentioned, assuming a minion with 4 attack and the opponent using a card of equal mana cost to trade, would result in a
[0 0 0] vs. a
[0 0 +4]. That is, assuming your opponent does trade equally. In reality, you trading vs. your opponent trading will generally result in a tempo difference because the player initiating the trade is the one who can choose how to do it and thus maximize his own tempo advantage. So if you have a 3-mana 4/3 minion and choose to attack the hero for
[0 0 +4] instead of destroying a 4-mana 5/4 minion for
[0 +1 0], the opponent might be able to use a 2-mana spell to trade off your minion, resulting in a total move effect of
[0 -1 +4] as opposed to
[0 +3 -3] if the opponent used the spell to damage your hero instead. However, since this will leave the 5/4 minion on the opponent's field and could leave your field wide open, this might turn out to end as a
[0 -1 -1] move instead.
At that point, deciding which move to make become a judgment call based on the total situation, notably the absolute values of each resource. If your opponent is sitting at a total of 7 cards on field and in hand combined, cards with total mana cost of 9 on field and 23 hero life remaining, his resource total is
[7 9 23]. This is a situation where you will generally (!) want to see tempo as highest priority. The reason is that card advantage is usually gained in +/-1 increments, sometimes not even that, while tempo is more easily gained in larger chunks. Hero life, on the other hand, nearly always comes as a trade-off and gaining a life advantage usually means taking a card advantage and/or tempo loss. Unless we're talking about a 10 life Pyroblast, going for hero life is probably a bad call with those totals. If your opponent sits at
[2 6 19], card advantage becomes a major target because you might be able to bring your opponent down to
[0 0 x] while still having cards left yourself. This is always a good thing because they will have to play off their one card per turn, which is luck based and sometimes called top-deck mode. Putting your opponent there is only second to actually winning the game directly or setting up a secure win for the next turn. If you can go for it, it's usually the best option. But if their total is
[5 10 10], life becomes important, especially if you're ahead in life and behind in the rest. Going for hero life in this situation could win you the game before their card and tempo advantage can overwhelm you. It really comes down to their weakest point at a specific time.
Another big factor is your strategy and future potential. If you play loads of low-mana minions and are trying to rush them down, card advantage is important for you because your strategy will fall apart if you run out of cards. But hero life is also important because your will run out of steam eventually and at some point will be unable to handle their tempo advantage coming from big minions. When that time comes, you better have the means to end the game quickly, so their life should be low. Another important factor is fatigue or generally the number of cards remaining in each player's deck. If you run out of cards, you will receive damage each turn and additionally, well, have no cards left. So you will suffer losses to card advantage and hero life if your deck is out of cards. This is also a situation where you will want to end the game quickly, so hero life totals should be low enough when this happens. The last point, which also falls into this category, is what you have left. If you have 6 cards left in your deck and 2 of them are Flamestrike, it becomes less of a problem to leave minions with 4 or less health on the field, while lowering minions above that total to 4 becomes a good move even if it means a temporary loss of card and/or tempo advantage (unless it puts you in defeat range, of course). If you have 3 damaging spells left in a 5-card deck, going for hero life and hoping to draw into the spells to end the game is a viable strategy even if it means you'll get overrun for a major loss in card and tempo advantage (again, unless this puts you on the brink of defeat). Another example is having a minion with taunt that can trade with an opponent's minion early in the game. Going for a little damage can be a good move because the opponent will probably have no choice but to do the same trade you would have done anyway. If they use a spell to get rid of your minion, they will have gained a temporary advantage, but won't have that spell available later to get out of a trickier situation.
To summarize, you can't just look at card advantage alone. All 3 resources are comparably important in Hearthstone, so you should evaluate each move's value with respect to each of the 3 resources, for example by denoting value as a 3-element vector. Which move has the highest net value depends on
- the move's value vector
- the total resource advantage vector (differences between you and the opponent)
- the opponent's absolute resources vector
- your strategy
- the resources you have left
- the opponent's ability to disrupt your plans