They mean the same thing, which is tomato. You may know that tomato was not an plant originally growing in China. So in terms of 番茄, if you can separate the two characters: 番 equals to another character 蕃, meaning "other countries (as a noun)" or "from other countries (as an adj.)", and 茄 usually refers to egg plant, which belongs to the same plant family of tomato. About 西红柿,if you can also read these characters individually, you will see it means West + red + persimmon(this is an original species) . And you will see it also means the fruit/vegetable in a red colour from the west and it looks like a persimmon (persimmon is orange colour).
So they are two ways of saying the same thing.
And if you would like to know, in my hometown it is also 洋柿子, also meaning "overseas / foreign persimmon"
PS. you may find the names for potato in Chinese interesting, too.