I understand your guys point of view. This is more situational vs approaching on the street. You want to make your intentions clear.
I've been approaching girls by doing a Yad stop, so if I were to Yad stop someone and go "Excuse, do you know where Starbucks is" it's immediately clear I don't give a shit about starbucks. She's just thinking "Oh god another guy asking where starbucks is"
Now in a supermarket, it's socially calibrated and situational to mention something about her food. What I would do in a supermarket, is either go super direct "Excuse me, I know this is a bit random, and I don't mean to interrupt you while you get ready for this big feast you're about to have (or if she has nothing in her basket a joke about that) but I thought you looked really nice and had to come over and say hello." Or you could just say "Oh no, definitely not that brand. I tried it once and it tasted great, but has a horrible after taste. " Then lead into the conversation with an assumption, challenges etc. etc. It depends on how you feel and what fits you best.
But social calibration is also definitely important. If you're in a coffee shop and you see a girl sitting by herself, a street approach of "Hey excuse, I just saw you and thought you looked really nice." wouldn't be appropriate. Because one if she's not interested she's thinking "Oh god how long will I have to listen to this." and she's sitting down and would be difficult for her to leave. Again you have to be socially calibrated.
I use "Nice" or words that are purposely wishy washy (only in the words, NOT in the way they're delivered), because It's low pressure, it creates a bit of sexual tensions and, I'm not that impressed with her beauty, I see beautiful girls all the time. It's more about HOW you say it rather than what you say. You can say "I think you look really nice" from a Low value place, or from a high value place and the way you say it are completely different. If you say "I literally just saw you, and you are so hot" if that's actually how you feel, then say it. But for me, if I say "I think you're really hot" I feel like I'm this poor guy who has never seen a hot girl in his life. Generally "You're so hot" is high pressure and will have her make a decisions instantly based on that and the way you look vs your actual skill level of game, which you have yet to deliver. I also say "Beautiful" or you look "Posh" or "Glowing" or "Happy" or "You have this great energy" because it's less pressure but the delivery is never wishy washy. With direct eye contact, a nice smooth and slow delivery, it doesn't matter that you that i'm saying "Nice"
For me, direct works best for my personality. If I'm in a shop, "Excuse me, I know this is a bit random, and I don't mean to interrupt your shopping, but I just had to come over and tell you that you look so lovely." is what I would say. Now if she clearly can't make up her mind about something she's looking at, you can say something about it.