Didn't expect such strong replies. Wasn't sure if I'd be told I was overreacting to be upset over a sandwich.
Because your DH has trained you to think that when he screws you over like this you'd be "overreacting" to stand up for yourself.
Asked why he just says he got flustered in the shop and went for the easy option and didn't think it mattered.
So he thinks you having the option or either eating something you don't like or going without "doesn't matter". That's nice of him 
Can't/won't explain why he lied other than to cover up getting the wrong stuff.
He KNOWS why he lies. Doubt he wants to tell you he's deliberately winding you up and pissing you off. That would blow his cover!
We're not short of money but Dh can be a tight wad, so possible he quickly went for the cheap option.
Too cheap to buy his wife a sandwich?! The cheapest option would be getting the cheapest frozen own brand sausage rolls from the supermarket. Interesting that he didn't want to save money on those - only on YOUR sandwich...
He honestly isn't usually horrible, lazy or rubbish. Unless I'm just a terrible judge of character. He does his fair share of everything all round. He is rubbish at thinking/remembering.
You know him best, but from now on start looking closer at his behaviours and deconstructing some of the stuff you've probably got into the habit of glossing over.
The question is - is he rubbish at remembering stuff HE wants? Something tells me he isn't.
It's just the lying.
There is no "just" about lying and the corrosive effect it has on relationships.
Also, it's a terrible role model for kids. If they copy these behaviours they are going to have troubled relationships.
When I say lying it's say for example his parents asked to visit but we had already made plans to go to the cinema. He'd tell them we had plans to go to the trampoline park. He'd say it's just easier to say that. But it makes no sense, it's a completely pointless lie iyswim?
People tell lies to be in control of a situation - only they know the real truth and so everyone else is being manipulated by the liar. Even if you uncover the truth yourself (as you did by visiting the shop) you are left scratching your head, trying to figure him out, but too afraid to complain because it's only a sandwich. So basically your head is fucked while he goes gaily on with his day, destabilising more people with his bullshit.
Makes me feel that lying comes too easy.
How are you suppose to feel safe and cherished with a liar?
Do you really think if a test at a job interview involved him remembering four simple items he'd have messed that up?