This question has some attractive, but deceptive options in it.
Because, yes, Roosevelt was an extremely popular President.
And, yes, he did switch his party affiliation. When he lost the Republican primary election to Taft, he left the party and joined the Progressives (which later became known as the "Bull-Moose" party.)
We can rule out both C, and D, however. Because, with time, Roosevelt had begun to break away from conservative Republicans, and actually favored a very strong, interventionist federal government. He also was going up against Taft, the incumbent president, and Woodrow Wilson, both of whom were quite well known opponents.
So, that means we have to choose between A and B, which requires knowing a little bit more about the election. During the Republican primaries, Roosevelt almost won the party nomination instead of Taft, but lost at the very end. When he left and joined the Progressive party, Roosevelt essentially stole all of Taft's voters. And this is important: Roosevelt's supporters were still Republicans. He wasn't supported by Progressive Democrats. They sided almost entirely with Wilson.
So, on the one hand, the reason Roosevelt was able to compete in the general election for President, is because he left the Republican party and joined the Progressives. On the other hand, the reason he received so many votes in that election, wasn't because of his changed political affiliation. It was because his popularity as a former President enabled him to steal Republican votes away from the Republican nominee, Taft. If I were grading this question for my students, I would accept either A or B. But, if you have to choose just one, I'd say the real reason he won so many votes is A, because he had been a popular president previously.