Understanding Partial Derivatives

Here is the graph of the equation z=f(x,y)=((x^2)((y^3)-y)+(x-1)(y-1))(e^((-((x^2)+(y^2))/5)))

Manipulate[
Show[
{Plot3D[(x^2(y^3-y)+(x-1)(y+1))Exp[-((x^2+y^2))/5],
{x,-2,If[xplane&&(!(xplane&&yplane)),a,2]},
{y,If[yplane&&(!(xplane&&yplane)),b,-2],2},
PlotRange->{{-2,2},{-2,2},{-3,2}},ClippingStyle->None,AxesOrigin->{0,0,0},AxesLabel->{"x","y","z"},Mesh->None,BoundaryStyle->None,Boxed->False],
Graphics3D[{Yellow,Sphere[({x,y,(x^2(y^3-y)+(x-1)(y+1))Exp[-((x^2+y^2))/5]}/.{x->a,y->b}),.1]}],
If[yplane,{
Graphics3D[{Red,Opacity[.3],Polygon[{{-2,b,-3},{2,b,-3},{2,b,2},{-2,b,2}}]}],
ParametricPlot3D[({x,y,(x^2(y^3-y)+(x-1)(y+1))Exp[-((x^2+y^2))/5]}/.{y->b}),{x,-2,2},PlotStyle->{Red,Tube[.04]}]
},Nothing],
If[xplane,{
Graphics3D[{Blue,Opacity[.3],Polygon[{{a,-2,-3},{a,2,-3},{a,2,2},{a,-2,2}}]}],
ParametricPlot3D[({x,y,(x^2(y^3-y)+(x-1)(y+1))Exp[-((x^2+y^2))/5]}/.{x->a}),{y,-2,2},PlotStyle->{Blue,Tube[.04]}]
},Nothing]},
PlotRange->{{-2,2},{-2,2},{-3,2}},ViewPoint->{2,-1,1.5},BoxRatios->{1, 1, 1}],
{{a,1,"a"},-2,2},{{b,-0.75,"b"},-2,2},
{{xplane,False,"Show x=a"},{True,False}},{{yplane,False,"Show y=b"},{True,False}}]