My 10yo DS1 is a bit like this. He'll basically live off cereal, sandwiches, fruit, beans on toast, pasta with tomato sauce, pizza, instant noodles, spaghetti bolonese/lasagne, chilli, and chicken nuggets/fish fingers with vegetables. (He won't eat chips).
I don't think the ketchup is harmful. She doesn't need to be weaned off it FFS, it's just a flavouring. At least it's one which is almost universally available.
What happens with DS1 I think is that he decides what his favourite foods are and then rejects everything which isn't his favourite. So we've tried to counter this a bit by explaining that everyone has foods they love, foods they like, foods they tolerate and foods they hate but the hate list should be a tiny percentage of all foods. We decided to create in the family a list of 5 foods each which are total no gos and nobody is allowed to make you try it, but if it's not on your list of 5, you have to at least make an effort. If you want to swap a food out you have to try it first. He thought this was fair. I also pointed out that when he just eats his favourites in rotation, he gets bored of them and then he's left with no foods he likes at all.
We've talked about techniques like mixing a less liked food with the food he does like. But mainly I think it's a mental block and he gets stubborn about it. Because he's never been forced to finish a plate it isn't something he'll push himself to do.