The main difference between ketchup and tomato sauce is that ketchup contains vinegar and spices, where tomato sauce is often made from only tomatoes with very few spices.  Ketchup is seasoned to be a condiment and to not need additional seasoning, where tomato sauce is meant to be used as a base for other sauces and recipes. Either can be used to make BBQ sauce.  Ketchup contains many of the ingredients that are used in homemade easy no-cook barbecue sauce.  The tomatoes in ketchup have already been cooked with the seasonings and the flavors have been infused throughout the mixture.  Tomato sauce based barbecue sauces require additional spices and cooking to bring the flavors together, eliminating the need to include ketchup.  Using tomato sauce tends to be less expensive, as it typically costs less than ketchup.