Perhaps this
parms = {p3 -> 6/10 - x 55/100, p2 -> 7/10 - x 5/10, n2 -> 70, z -> 35};
s21 = Sum[Binomial[n2, n] (1 - p2)^n p2^(n2 - n), {n, 0, z}] //. parms;
s22 = Sum[Binomial[n2, n] (1 - p2)^(n2 - n) p2^n, {n, 0, z}] //. parms;
s31 = Sum[Binomial[n2, m] (1 - p3)^(n2 - m) p3^m, {m, 0, z}] //. parms;
s32 = Sum[Binomial[n2, m] (1 - p3)^m p3^(n2 - m), {m, 0, z}] //. parms;
dec1 = s21*s31 + s22*s32;
D11 = Integrate[dec1, {x, 0, 1}];
D1 = dec1/D11;
dD1 = D[D1, x];
Expand[dD1]
Plot[dD1, {x, 0, 1}, PlotRange -> {-10, 10}]
FindRoot[dD1 == 0, {x, 28/100}, WorkingPrecision -> 100]
Be a little careful, if you scrape-n-paste, that those last three lines without trailing semicolons don't somehow confuse Mathematica into thinking that you meant to somehow multiply two or more of those together.
Clicking "Show More" below the display of the dD1 expression will give you an idea of what Mathematica is facing.
The Plot doesn't have enough resolution to show you that there are several hundred roots in your expression.
Fortunately your choice of starting point was close enough to let it find the one you were interested in and it gives you what looks like a good result.