When people get backed against a wall, they react in different ways. Sometimes they surrender. Sometimes they try and talk their way out of their situation, and sometimes they come out swinging. You backed your boyfriend against a wall by asking him who the sandals belong to, and rather than answering you, which he didn’t want to do, he came out swinging.
If you have a history of accusing him of cheating on you and he has reason to feel continually questioned without evidence, then he’s right. But from your post, it sounds like this is the first time you’ve asked him about his cheating, and your question was a legitimate question and he hasn’t answered you, lending validity to your concern. It’s also strange that after two and a half years he’s shown you an engagement ring but hasn’t given it to you. Clearly, this guy is stringing you along without clear plans to commit to you.
It sounds like your boyfriend is cheating on you or at least keeping a secret about a woman’s shoes from you, and treating you badly when you asked about them. I think you need to wake up and face the music. You’re not with Mr. Right, and you’re afraid to leave. Staying is going to end up being worse for you in the long run than leaving and taking your pain in one short lump. It’s time for you to move on.