My answer applies to standard logic only.

In terms of standard logic, proofs by contrapositive and by contradiction are "equivalent" in that they are both logically valid, and two logically valid propositions are equivalent to each other.

On the other hand, it is certainly true that every proof by contrapositive can be phrased as a proof by contradiction. Indeed, since the latter is perhaps a bit more intuitive, it is often used as a justification of the former when it is needed e.g. in calculus courses:

We wish to show $A \implies B$. Suppose we know that $\lnot B \implies \lnot A$. Suppose further that $B$ is false. Then $\lnot B$ is true, so $\lnot A$ is true, so $A$ is false, contrary to our assumption.

Suppose a proposition can be proved by contraposition. As above, there is then a standard recipe for modifying the proof to give a proof by contradiction. However, if you compare the two proofs you find that the one by contradiction merely has the above two line argument appended to it, so it is just slightly longer without any additional content. For this reason, when it is possible to give a direct proof of $\lnot B \implies \lnot A$ it is preferable to do so, rather than casting it as a proof by contradiction.

However, proof by contradiction is a more powerful technique in the informal sense that some proofs are more difficult to phrase using contraposition. (I don't want to say impossible, because as above, both "techniques" are simply logically valid arguments, so may be inserted in a proof at any point.)

What makes contradiction potentially more powerful? (This is a question that you have to face when you teach introduction to proofs classes, as I have. I wouldn't have had as ready an answer before.) I think it is because we get to assume two things rather than one. Namely, instead of just assuming $\lnot B$ and using that one assumption to work our way to $\lnot A$, we get to assume *both* $A$ and $\lnot B$ and play them off one another in order to derive a contradiction.

Here is an example of this. Suppose we wish to prove that $\sqrt{2}$ is irrational. First, let's phrase this as an implication:

For all $x \in \mathbb{R}$, $x^2 = 2 \implies x \not \in \mathbb{Q}$.

Or, contrapositively:

For all $x \in \mathbb{R}$, $x \in \mathbb{Q} \implies x^2 \neq 2$.

Taking the contrapositive was not so helpful! What we need to do is work from both ends at once:

Suppose that $x \in \mathbb{Q}$ **and** $x^2 = 2$. Now we are in business; we can work with this. (I omit the proof since I assume that everyone knows it.)

Here is another difference between the two proofs, which I didn't notice until I thought about this answer: the contrapositive of the statement

$\forall x \in S, P(x) \implies Q(x)$

is

$\forall x \in S, \lnot Q(x) \implies \lnot P(x)$:

note that the quantifier has not changed. (Of course we might have an existential quantifier instead, and the discussion would be the same. Anyway, in practice most mathematical propositions do begin with a universal quantifier.)

However, the **negation** of the statement is

$\exists x \in S \ | \ P(x) \wedge \ \lnot Q(x)$.

Note that the quantifier has changed from $\forall$ to $\exists$, which is a key feature of the above proof.

Finally, you ask why we would prefer one technique over another since both are equivalent. But of course we do this all the time, according to convenience and taste: e.g. induction, strong induction and well-ordering are all logically equivalent, but we use all three. We could e.g. phrase all induction proofs as appeals to the Well-Ordering Principle, but in many cases that would amount to inserting a tiresome rigamarole "Consider the set $S = \{ n \in \mathbb{N} \ | \ P(n)\ \text{is false} \}$..." which does not add to the clarity or concision of the proof.