I've been growing marigolds around my tomatoes for the past couple of years. I haven't seen very many tomato horn worms on my tomatoes the past couple of years. Last year, I did not find one single tomato horn worm and found very few other bugs on the tomatoes, like those leaf footed bugs that usually get at the end of the season that like to make holes in the tomatoes!!
BUT, having said all that, I'm not sure if all the credit can go to the marigolds. The past couple of years, many various birds spend time in the all of the gardens. I also welcome other beneficial bugs in my garden, some of which may be keeping the worms and pests in check. I will give some credit to the marigolds, afterall, that's why I'm growing them with my tomatoes.