The problem is that any conditional you have will be True in the situations you have described:

[help] - this checks if the target is friendly to you... if you have yourself targeted it will evaluate to true

[party] - this checks if the target is in your party ... same as above

[target = player] - this is not a conditional, this is an assignment so you could do the following:

/cast [harm] Moon Fire; [target = player] Barkskin

This would cast Moon Fire if you had something harmful targeted, otherwise it would cast Barkskin on your toon. The reverse, however, would not work:

/cast [target = player] Barkskin; [harm] Moon Fire

This would only ever cast Barkskin, because there isn't a conditional happening (and you can only cast 1 spell in a macro).

I hope that clarifies some limitations to the macro system.