@Creamypumpkinsoup - being firm and taking charge when your child is being defiant is a parenting skill we all have to learn, and you are most certainly NOT a bad parent because you haven’t learned that skill yet.
In your position, I would use a mixture of firmness and rewards. Be clear that he either holds your hand or wears the reins, otherwise he goes back in the buggy. But then if he does walk nicely, you praise him and he gets a treat - a sweet or an extra go on the swings, or getting to feed the ducks, for example.
And as a previous poster said, if he throws himself on the ground, you just stay there until he accepts he needs to hold your hand or use the reins. “What a shame you are lying on the ground and not walking nicely - now we won’t be able to go to the park/shop/river”.
None of us is born a perfect parent - we learn by trial and error. I once let ds1 (aged under 2) eat tortilla chips from the bin - he was having horrendous tantrums, and was in the middle of one, when he went quiet and I found him eating leftover tortilla chips we had binned the night before - and I let him carry on with his delicious bin snack, because I knew if I stopped him, the tantrum would start again, and I simply couldn’t face it. When he got bored and wandered off, I found somewhere safe to put the bin. You can only do your best, in the situation you are in.
Oh, and ds1 was fine - not so much as a tummy upset - and his best man told the tortilla chip story at his wedding this year. He now has a daughter, and I am wondering how much she will give him the run-around when she is older!