In a sense, there is no difference between a rose and a flower because a rose is a type of flower. This would be like saying "what is the difference between an American and a person?" An American is a person so there is not really a difference.
However, "rose" and "flower" do not mean the same thing. All roses are flowers, but not all flowers are roses. A rose is one specific kind of flower whereas the word "flower" is used to refer to anything that is "the reproductive part of a plant that produces seeds." This means that roses are flowers but so are the flowers of tomato plants and of cherry trees and of every other angiosperm.