Converting bitmap graphics to vector graphics (for example, PNG to SVG) is a definitively non-trivial task, with no straightforward solution. Doing it the other way round - vector to bitmap graphics - is of course a simple process of rendering, and that's how things are usually done if you want both formats.
At its core, such a conversion requires complex and error-prone algorithms that analyse patterns in images. More complicated images will simply be impossible to decompose into vector graphics. The technical explanation is based on the fact that the information entropy of bitmap representations is guaranteed to be higher than that of vector representations, which means there is always uncertainity in reversing the well-defined process of vector graphics rendering.
The best program widely available for your task is likely to be Vector Magic (shareware). If that doesn't do the job for you, it's not likely anything will, though of course you'll probably need a lot of tweaking for good results.