You don't understand why tax code is complex. It's not complex because we don't know how to make it simple (that may be true but that is not the real reason), but because politicians explicitly do not want to make it simple. Making it simple would remove a very powerful way to control behavior from them, and if politicians of (almost) all shades hate something equally it is not being able to control something. The tax code is complex because it's not only tax code (i.e. means of extracting money from people to fund the government) but a vast regulatory engine.
Credit card rewards are complex because competing on price only is hard and brutal and if you're dealing with commodities - and credit card access from the issuer side is commoditized - it drives your margins down into unsustainable territory pretty quickly. So people invent all kinds of schemes that they can compete on without getting into direct price competition. I don't see how removing this would be a huge net benefit to society. I like getting 2% back from my every purchase and 5% back from certain ones. Yes, I know these are the same 2% the merchant is charged with, but credit card companies won't work for free. So I have a choice - either they charge merchants less and don't care about me - i.e. don't entice me with rewards and so on - or they charge a bit more and give it back to me as a reward. I personally like it better when they compete for my attention - that's kind of a relationship that usually leads to a better service than "you're not the one actually paying us so we'll take your call in next 2 hours or so".
Credit card rewards are complex because competing on price only is hard and brutal and if you're dealing with commodities - and credit card access from the issuer side is commoditized - it drives your margins down into unsustainable territory pretty quickly. So people invent all kinds of schemes that they can compete on without getting into direct price competition. I don't see how removing this would be a huge net benefit to society. I like getting 2% back from my every purchase and 5% back from certain ones. Yes, I know these are the same 2% the merchant is charged with, but credit card companies won't work for free. So I have a choice - either they charge merchants less and don't care about me - i.e. don't entice me with rewards and so on - or they charge a bit more and give it back to me as a reward. I personally like it better when they compete for my attention - that's kind of a relationship that usually leads to a better service than "you're not the one actually paying us so we'll take your call in next 2 hours or so".