This can be set up as a quantifier elimination problem, for which cylindrical decomposition can be used.
Clear[poly] poly[ l_] := (dl - dl sl) l^3 + (2 dl + ml - sl - dl sM + sl*sM) l^2 + (dl - 2 sl + sl ml) l - sl CylindricalDecomposition[ Exists[{l1, l2, l3}, poly[l1] == 0 && poly[l2] == 0 && poly[l3] == 0], {sl, dl, ml, sM}] (* Out[66]= (sl < 0 && (dl < 0 || (dl == 0 && ((ml < 2 && sM >= Root[ 4 ml^3 - 8 ml^2 sl - 4 ml^3 sl + ml^4 sl + 4 ml sl^2 + 8 ml^2 sl^2 - 2 ml^3 sl^2 - 4 ml sl^3 + ml^2 sl^3 + (12 ml^2 sl - 16 ml sl^2 - 8 ml^2 sl^2 + 2 ml^3 sl^2 + 4 sl^3 + 8 ml sl^3 - 2 ml^2 sl^3) #1 + (12 ml sl^2 - 8 sl^3 - 4 ml sl^3 + ml^2 sl^3) #1^2 + 4 sl^3 #1^3 &, 1]) || (ml == 2 && sM > Root[ 8 - 12 sl + 6 sl^2 - sl^3 + (12 sl - 12 sl^2 + 3 sl^3) #1 + (6 sl^2 - 3 sl^3) #1^2 + sl^3 #1^3 &, 3]) || (ml > 2 && sM >= Root[ 4 ml^3 - 8 ml^2 sl - 4 ml^3 sl + ml^4 sl + 4 ml sl^2 + 8 ml^2 sl^2 - 2 ml^3 sl^2 - 4 ml sl^3 + ml^2 sl^3 + (12 ml^2 sl - 16 ml sl^2 - 8 ml^2 sl^2 + 2 ml^3 sl^2 + 4 sl^3 + 8 ml sl^3 - 2 ml^2 sl^3) #1 + (12 ml sl^2 - 8 sl^3 - 4 ml sl^3 + ml^2 sl^3) #1^2 + 4 sl^3 #1^3 &, 1]))) || dl > 0)) || sl == 0 || (0 < sl < 1 && (dl < 0 || (dl == 0 && ((ml < 2 && sM >= Root[ 4 ml^3 - 8 ml^2 sl - 4 ml^3 sl + ml^4 sl + 4 ml sl^2 + 8 ml^2 sl^2 - 2 ml^3 sl^2 - 4 ml sl^3 + ml^2 sl^3 + (12 ml^2 sl - 16 ml sl^2 - 8 ml^2 sl^2 + 2 ml^3 sl^2 + 4 sl^3 + 8 ml sl^3 - 2 ml^2 sl^3) #1 + (12 ml sl^2 - 8 sl^3 - 4 ml sl^3 + ml^2 sl^3) #1^2 + 4 sl^3 #1^3 &, 1]) || (ml == 2 && sM > Root[ 8 - 12 sl + 6 sl^2 - sl^3 + (12 sl - 12 sl^2 + 3 sl^3) #1 + (6 sl^2 - 3 sl^3) #1^2 + sl^3 #1^3 &, 3]) || (ml > 2 && sM >= Root[ 4 ml^3 - 8 ml^2 sl - 4 ml^3 sl + ml^4 sl + 4 ml sl^2 + 8 ml^2 sl^2 - 2 ml^3 sl^2 - 4 ml sl^3 + ml^2 sl^3 + (12 ml^2 sl - 16 ml sl^2 - 8 ml^2 sl^2 + 2 ml^3 sl^2 + 4 sl^3 + 8 ml sl^3 - 2 ml^2 sl^3) #1 + (12 ml sl^2 - 8 sl^3 - 4 ml sl^3 + ml^2 sl^3) #1^2 + 4 sl^3 #1^3 &, 1]))) || dl > 0)) || (sl == 1 && ((dl < 1 && ((ml < Root[-8 + 12 dl - 6 dl^2 + dl^3 + (12 - 12 dl + 3 dl^2) #1 + (-6 + 3 dl) #1^2 + #1^3 &, 3] && sM >= Root[-4 dl + 15 dl^2 - 12 dl^3 - 4 dl^4 + 6 dl ml - 6 dl^2 ml - 12 dl^3 ml - ml^2 + 4 dl ml^2 - 13 dl^2 ml^2 + 2 ml^3 - 6 dl ml^3 - ml^4 + (-4 + 28 dl - 54 dl^2 + 26 dl^3 + 4 dl^4 + 8 ml - 28 dl ml + 10 dl^2 ml + 10 dl^3 ml - 2 ml^2 - 6 dl ml^2 + 8 dl^2 ml^2 - 2 ml^3 + 2 dl ml^3) #1 + (8 - 36 dl + 47 dl^2 - 18 dl^3 - dl^4 - 8 ml + 14 dl ml - 4 dl^2 ml - 2 dl^3 ml - ml^2 + 2 dl ml^2 - dl^2 ml^2) #1^2 + (-4 + 12 dl - 12 dl^2 + 4 dl^3) #1^3 &, 1]) || (ml == Root[-8 + 12 dl - 6 dl^2 + dl^3 + (12 - 12 dl + 3 dl^2) #1 + (-6 + 3 dl) #1^2 + #1^3 &, 3] && sM > Root[-4 dl + 15 dl^2 - 12 dl^3 - 4 dl^4 + 6 dl ml - 6 dl^2 ml - 12 dl^3 ml - ml^2 + 4 dl ml^2 - 13 dl^2 ml^2 + 2 ml^3 - 6 dl ml^3 - ml^4 + (-4 + 28 dl - 54 dl^2 + 26 dl^3 + 4 dl^4 + 8 ml - 28 dl ml + 10 dl^2 ml + 10 dl^3 ml - 2 ml^2 - 6 dl ml^2 + 8 dl^2 ml^2 - 2 ml^3 + 2 dl ml^3) #1 + (8 - 36 dl + 47 dl^2 - 18 dl^3 - dl^4 - 8 ml + 14 dl ml - 4 dl^2 ml - 2 dl^3 ml - ml^2 + 2 dl ml^2 - dl^2 ml^2) #1^2 + (-4 + 12 dl - 12 dl^2 + 4 dl^3) #1^3 &, 3]) || (ml > Root[-8 + 12 dl - 6 dl^2 + dl^3 + (12 - 12 dl + 3 dl^2) #1 + (-6 + 3 dl) #1^2 + #1^3 &, 3] && sM >= Root[-4 dl + 15 dl^2 - 12 dl^3 - 4 dl^4 + 6 dl ml - 6 dl^2 ml - 12 dl^3 ml - ml^2 + 4 dl ml^2 - 13 dl^2 ml^2 + 2 ml^3 - 6 dl ml^3 - ml^4 + (-4 + 28 dl - 54 dl^2 + 26 dl^3 + 4 dl^4 + 8 ml - 28 dl ml + 10 dl^2 ml + 10 dl^3 ml - 2 ml^2 - 6 dl ml^2 + 8 dl^2 ml^2 - 2 ml^3 + 2 dl ml^3) #1 + (8 - 36 dl + 47 dl^2 - 18 dl^3 - dl^4 - 8 ml + 14 dl ml - 4 dl^2 ml - 2 dl^3 ml - ml^2 + 2 dl ml^2 - dl^2 ml^2) #1^2 + (-4 + 12 dl - 12 dl^2 + 4 dl^3) #1^3 &, 1]))) || dl == 1 || (dl > 1 && ((ml < Root[-8 + 12 dl - 6 dl^2 + dl^3 + (12 - 12 dl + 3 dl^2) #1 + (-6 + 3 dl) #1^2 + #1^3 &, 3] && sM <= Root[-4 dl + 15 dl^2 - 12 dl^3 - 4 dl^4 + 6 dl ml - 6 dl^2 ml - 12 dl^3 ml - ml^2 + 4 dl ml^2 - 13 dl^2 ml^2 + 2 ml^3 - 6 dl ml^3 - ml^4 + (-4 + 28 dl - 54 dl^2 + 26 dl^3 + 4 dl^4 + 8 ml - 28 dl ml + 10 dl^2 ml + 10 dl^3 ml - 2 ml^2 - 6 dl ml^2 + 8 dl^2 ml^2 - 2 ml^3 + 2 dl ml^3) #1 + (8 - 36 dl + 47 dl^2 - 18 dl^3 - dl^4 - 8 ml + 14 dl ml - 4 dl^2 ml - 2 dl^3 ml - ml^2 + 2 dl ml^2 - dl^2 ml^2) #1^2 + (-4 + 12 dl - 12 dl^2 + 4 dl^3) #1^3 &, 3]) || (ml == Root[-8 + 12 dl - 6 dl^2 + dl^3 + (12 - 12 dl + 3 dl^2) #1 + (-6 + 3 dl) #1^2 + #1^3 &, 3] && sM < Root[-4 dl + 15 dl^2 - 12 dl^3 - 4 dl^4 + 6 dl ml - 6 dl^2 ml - 12 dl^3 ml - ml^2 + 4 dl ml^2 - 13 dl^2 ml^2 + 2 ml^3 - 6 dl ml^3 - ml^4 + (-4 + 28 dl - 54 dl^2 + 26 dl^3 + 4 dl^4 + 8 ml - 28 dl ml + 10 dl^2 ml + 10 dl^3 ml - 2 ml^2 - 6 dl ml^2 + 8 dl^2 ml^2 - 2 ml^3 + 2 dl ml^3) #1 + (8 - 36 dl + 47 dl^2 - 18 dl^3 - dl^4 - 8 ml + 14 dl ml - 4 dl^2 ml - 2 dl^3 ml - ml^2 + 2 dl ml^2 - dl^2 ml^2) #1^2 + (-4 + 12 dl - 12 dl^2 + 4 dl^3) #1^3 &, 3]) || (ml > Root[-8 + 12 dl - 6 dl^2 + dl^3 + (12 - 12 dl + 3 dl^2) #1 + (-6 + 3 dl) #1^2 + #1^3 &, 3] && sM <= Root[-4 dl + 15 dl^2 - 12 dl^3 - 4 dl^4 + 6 dl ml - 6 dl^2 ml - 12 dl^3 ml - ml^2 + 4 dl ml^2 - 13 dl^2 ml^2 + 2 ml^3 - 6 dl ml^3 - ml^4 + (-4 + 28 dl - 54 dl^2 + 26 dl^3 + 4 dl^4 + 8 ml - 28 dl ml + 10 dl^2 ml + 10 dl^3 ml - 2 ml^2 - 6 dl ml^2 + 8 dl^2 ml^2 - 2 ml^3 + 2 dl ml^3) #1 + (8 - 36 dl + 47 dl^2 - 18 dl^3 - dl^4 - 8 ml + 14 dl ml - 4 dl^2 ml - 2 dl^3 ml - ml^2 + 2 dl ml^2 - dl^2 ml^2) #1^2 + (-4 + 12 dl - 12 dl^2 + 4 dl^3) #1^3 &, 3]))))) || (sl > 1 && (dl < 0 || (dl == 0 && ((ml < 2 && sM >= Root[ 4 ml^3 - 8 ml^2 sl - 4 ml^3 sl + ml^4 sl + 4 ml sl^2 + 8 ml^2 sl^2 - 2 ml^3 sl^2 - 4 ml sl^3 + ml^2 sl^3 + (12 ml^2 sl - 16 ml sl^2 - 8 ml^2 sl^2 + 2 ml^3 sl^2 + 4 sl^3 + 8 ml sl^3 - 2 ml^2 sl^3) #1 + (12 ml sl^2 - 8 sl^3 - 4 ml sl^3 + ml^2 sl^3) #1^2 + 4 sl^3 #1^3 &, 1]) || (ml == 2 && sM > Root[ 8 - 12 sl + 6 sl^2 - sl^3 + (12 sl - 12 sl^2 + 3 sl^3) #1 + (6 sl^2 - 3 sl^3) #1^2 + sl^3 #1^3 &, 3]) || (ml > 2 && sM >= Root[ 4 ml^3 - 8 ml^2 sl - 4 ml^3 sl + ml^4 sl + 4 ml sl^2 + 8 ml^2 sl^2 - 2 ml^3 sl^2 - 4 ml sl^3 + ml^2 sl^3 + (12 ml^2 sl - 16 ml sl^2 - 8 ml^2 sl^2 + 2 ml^3 sl^2 + 4 sl^3 + 8 ml sl^3 - 2 ml^2 sl^3) #1 + (12 ml sl^2 - 8 sl^3 - 4 ml sl^3 + ml^2 sl^3) #1^2 + 4 sl^3 #1^3 &, 1]))) || dl > 0)) *)
Not the prettiest of sights. Also it might be too complicated to be of much use.
Another possibility, suggested in a comment by @J.M., would be to solve for zeros of Discriminant[poly[l], l].
Reduce[(dl - dl sl) l^3 + (2 dl + ml - sl - dl sM + slsM) l^2 + (dl - 2 sl + sl ml) l - sl == 0 && dl > 0 && sl > 0 && ml > 0 && sM > 0, l, Reals]. Wait a while; you'll get a LOT of conditions! $\endgroup$Discriminant[]is built-in… $\endgroup$slsMshould besl*sM. Not that the change will make things faster. $\endgroup$