Consider an exact polynomial expression:
poly = -6 + 17 x - 32 x^2 + 26 x^3 - 20 x^4 + 14 x^5 - 8 x^6 + 3 x^7
Note that it contains no approximate numbers like 1.4: all of the coefficients are exact rational numbers (integers in this case). In Mathematica, any number containing a decimal point is an approximate number, not an exact number. You cannot expect exact results from approximate input.
Make an equation, solve it:
exact = Solve[poly == 0]
{{x -> 1/3 (1 - I Sqrt[2])}, {x -> 1/3 (1 + I Sqrt[2])}, {x ->
Root[-6 + 5 #1 - 4 #1^2 + 3 #1^3 - 2 #1^4 + #1^5 &, 1]}, {x ->
Root[-6 + 5 #1 - 4 #1^2 + 3 #1^3 - 2 #1^4 + #1^5 &, 2]}, {x ->
Root[-6 + 5 #1 - 4 #1^2 + 3 #1^3 - 2 #1^4 + #1^5 &, 3]}, {x ->
Root[-6 + 5 #1 - 4 #1^2 + 3 #1^3 - 2 #1^4 + #1^5 &, 4]}, {x ->
Root[-6 + 5 #1 - 4 #1^2 + 3 #1^3 - 2 #1^4 + #1^5 &, 5]}}
I get seven roots, all exact. Two are expressed as radicals, five have no such representation and are expressed using Root. These are the exact solutions, as we can verify:
Simplify[poly /. exact]
{0, 0, 0, 0, 0, 0, 0}
However, if I want numerical results:
approx = NSolve[poly == 0]
{{x -> -0.551685 - 1.25335 I}, {x -> -0.551685 + 1.25335 I}, {x ->
0.333333 - 0.471405 I}, {x -> 0.333333 + 0.471405 I}, {x ->
0.805786 - 1.2229 I}, {x -> 0.805786 + 1.2229 I}, {x -> 1.4918}}
The numerical solutions are necessarily approximate: exact numerical solutions of this equation are not possible. Most polynomial equations do not have exact numerical solutions: the solutions are irrational and thus have no finite numerical representation. Substituting the approximate solutions back into the original polynomial yields results that are approximately, but not exactly, zero:
poly /. approx
{1.84741*10^-13 + 1.91847*10^-13 I, 1.84741*10^-13 - 1.91847*10^-13 I,
6.66134*10^-16 + 1.9984*10^-15 I,
6.66134*10^-16 - 1.9984*10^-15 I, -1.42109*10^-14 +
7.10543*10^-15 I, -1.42109*10^-14 -
7.10543*10^-15 I, -2.13163*10^-14}
And that is just as you should expect.