Keep dreaming is a staid, somewhat dry phrase. It can be used in many contexts, formal and informal. In this usage, dream can have several meanings.
I am not finished with my REM tests; please keep dreaming.
Keep dreaming, and you will never face reality.
Keep on + ing verb = Keep continuing/trying to + verb.
Keep on dreaming = Keep continuing/trying to dream.
Dream here means hope. It does not refer to having dreams while asleep.
Keep on dreaming is an idiomatic usage, usually used in informal language. The on in the phrase provides the idiomatic/informal nuance of continuing to, usually indicating encouragement, much as it does in keep on trucking.
I feel like giving up on my lifelong dream, but my brother says I should keep on dreaming.
Note, Keep on dreaming and keep on trucking do not have the same meaning, but the on in both phrases serves the same function, namely to stress the aspect of continued trying or continued attempting to try.
We also have the phrase keep on keeping on, which is informal encouragement to continue battling through whatever obstacles one faces in life.
Life is so hard, but I have to keep on keeping on.
The subtle difference lies. I'll try to explain 'have been' and 'went' irrespective of the answer stated there that might have confused you.
Have been is generally used to say you had gone to that place and come back. On the other hand, went in this context talks about your presence on that place in the past.
I have been to America
...means at least once I had gone to the states and come back.
Think about this - if your friend asks you, "Have you gone to America?" This would be unnatural to many. On the other hand, if he wants to ask whether, in your lifetime, you have ever visited America, the better construction is "Have you been to America (ever)?"
So, to answer this in the context of visiting the places, if you want to say that you had visited that place and had come back, the better way is have been and if you are more concerned about your presence in past, use went as in " When I went to New York City, I learned that Americans there are very amicable".
Best Answer
When you say keep doing X, it means twothings: A) you expect X to be finished soon or at a definite time, and B) you were already doing X
When you say keep on doing X, it means two things: A) you're talking about making X part of a routine or background activity, and B) you were already doing it.
It can also mean to progress further with a path or course. In these cases you can omit the -ing word if it will be understood from context.