This gives the simplest answer (True):
Refine[a^b (c^d)^b == a^b c^(d b),
b \[Element] Integers && d \[Element] Integers]
This does not:
Simplify[a^b (c^d)^b == a^b c^(d b),
b \[Element] Integers && d \[Element] Integers]
My understanding of Refine vs. Simplify comes from this tutorial, which only indicates that Simplify should yield something simpler than Refine:
http://reference.wolfram.com/language/tutorial/UsingAssumptions.html