Along the z axix the function y^2 - x^2 - x^3 + 0 z has zero gradient, and this makes it difficult to compute the mesh numerically. You get a better picture by splitting the surface into two nicer-behaved surfaces:
Show[ContourPlot3D[{y == x Sqrt[1 + x], y == -x Sqrt[1 + x]}, {x, -1,
2}, {y, -2, 2}, {z, -2, 2},
MeshFunctions -> {Function[{x, y, z, f}, -(y - x*z)]},
MeshStyle -> {{Thick, Black}}, Mesh -> {{0}},
ContourStyle ->
Directive[White, Opacity[0.5], Specularity[White, 30]],
AxesLabel -> Automatic, BoundaryStyle -> None],
ContourPlot3D[y - x*z == 0, {x, -2, 2}, {y, -2, 2}, {z, -2, 2},
Mesh -> None,
ContourStyle ->
Directive[White, Opacity[0.5], Specularity[White, 30]]]]
