Another confusion with simplify

If you translate the variables to be positive, you can use PowerExpand:

ClearSystemCache[]
Simplify[(-1 + x) Sqrt[(1 - x) (-1 + y^2)] + 
  Sqrt[(1 - x)^3 (-1 + y^2)], -1 <= x <= 1 && -1 <= y <= 1, 
 TransformationFunctions -> {Automatic, 
   Simplify[
     PowerExpand[# /. {x -> -1 + a, y -> -1 + b}] /.
      {a -> x + 1, b -> y + 1}] &}]
(*  0  *)

Another odd approach is to reward expansion in terms of 1 - x to get it past whatever bottleneck is keeping Simplify from working; then follow with a plain Simplify:

ClearSystemCache[]
Simplify@Simplify[(-1 + x) Sqrt[(1 - x) (-1 + y^2)] + 
   Sqrt[(1 - x)^3 (-1 + y^2)], -1 <= x <= 1 && -1 <= y <= 1, 
  ComplexityFunction ->
   (Simplify`SimplifyCount[#] - 100 Count[#, 1 - x, Infinity] &)]
(*  0  *)

Try this:

 (-1 + x) Sqrt[(1 - x) (-1 + y^2)] + Sqrt[(1 - x)^3 (-1 + y^2)] /. 
  Sqrt[a_^3*b_] -> a*Sqrt[a*b] // Simplify

(*  0  *)

Have fun!


This answer is similar to the answer by @MichaelE2, but packaged differently:

Simplify[
    PowerExpand[
        (-1+x) Sqrt[(1-x) (-1+y^2)]+Sqrt[(1-x)^3 (-1+y^2)],
        Assumptions->True
    ],
    -1<=x<=1 && -1<=y<=1
]

0