All CPUs have at least one core, think of it as a worker, each CPU runs at a certain speed, think of that as the fastest any one of these cores/workers can go.
For instance a modern server is likely to have anywhere between 4 and 80 (and growing) cores ranging in speed from 1.4Ghz to ~4Ghz (i.e. theoretically 1.4 to 4 BILLION operations per second, but it never really works out that way for almost as many reasons).
Not all software is written to use more than one core however, so the trick is to understand how your software is written then match the number and speed of cores to the performance requirment and of course the budget.
There is no one rule to decide which is better, especially when we don't know what you want to use this for. What I would do is to pick a provider and service level that just feels right to you, see how you get on, periodically measure your performance and as you become more accustomed to this kind of platform your opinion of who and what you're paying for will naturally change, which you can then act on - it's easy to move things around usually so don't worry about being locked in.