The difference is subtle but it's there.
Selfish (a person, action, or motive) means lacking consideration for others, and/or is concerned only with one's own personal profit or pleasure. In contrast, self-centered means being preoccupied with oneself and one's affairs.
So, someone could be self-centered without necessarily being selfish: they could be self-centered but still be compassionate and generous towards others. While selfish people tend to be unwilling to give anything (time, money, effort, energy, or other support) to anyone other than him or herself.
A self-centered person would be inclined toward selfish behavior, but not necessarily so. Being self-centered implies finding oneself more fascinating than anything else but it doesn't necessarily cause such a person to behave in a selfish way.