Can we effectively solve a system of polynomial equations (numerically). It is known, and simple, that roots of a one polynomial in one variable $f(x)$ can be found numerically. If we restrict to the reals, one can readily give an explicit bound for any zero of $f$ in terms of $f$'s coefficients, and then one can use for instance Sturm's theorem and successive halving of intervals to find roots with any precision. (I have no doubt this can be done more efficiently, but that doesn't concern me at the moment).
Now, let us move to the higher dimension, and consider a system of $n$ polynomial equations $f_i(x) =0$ in $n$ variables $x = x_1,\dots,x_n$. Unless the choice of $f_i$'s is particularly unfortunate, this should give a finite collection of points, and I think some explicit bound on it's cardinality can be given with respect to the degrees.
I am aware of existence of various methods which will - with any luck - find a common zero close to some set starting point. For this, we don't need the equations to be polynomial. However, these methods will generally only give an zero under certain assumptions, and only one zero, not the full collection. Now, my question is: Is there a method for numerically finding the zeros of a family of polynomials, which 1. is guaranteed to work 2. works in reasonable time? And a "bonus" question: is such a method implemented in Mathematica?

A Groebner basis, if it can be computed, can help to solve a system of polynomial equations, in particular if it has triangular form. It is implemented in most of the computer algebra systems (as mathematica).
However, Groebner bases have large exponential complexity and cannot solve in practice systems with, say, more than $15$ variables. 
For some overdetermined systems there are other techniques than Groebner bases. One of these is called "relinearization". The exact complexity of this algorithm is not known, but for sufficiently overdetermined systems it is expected to run in polynomial time (see papers by Nicolas Courtois; Alexander Klimov, Jacques Patarin, and Adi Shamir).
In general, however, solving polynomial equations is a hard problem, and no really good algorithm is available (to the best of my knowledge).
