It seems that Integrate is not getting the full region of integration as the solution as you notice. The ConditionalExpression does not mean that the integral is necessarily divergent or undefined outside of the region that it specifies--just that the solution that is given is valid inside of that region.
But perhaps someone with integration expertise at WRI can comment on why the result doesn't cover all permissible values of a and b.
Of course you can turn off the generation of the ConditionalExpression by using,
Integrate[
y^(2*a + b - 1)/Sqrt[y^(2*(a + b)) - 1] - y^(a - 1), {y, 1, Infinity}, GenerateConditions -> False]
but this doesn't solve your question.