Iota has free transactions and very innovative.
Bitcoin also had free transactions, but there was simply no incentive to continue that. If you want to change that, you can pay transaction fees for other people (if you are not a miner) or mine free transactions (if you are a miner). There are no protocol limitations, just default node settings prevent free transactions to avoid spamming the network for free.
Also notice that in the Lightning Network you can create a channel with your friend and have zero fees at all, as long as both nodes agree. You can also create your own public node with no fees.
I guess bitcoin is still in the dinosaur age.
I think the situation is completely different. Every coin that reached some serious level of adoption, encountered high fees and something we can call "fee market". So, the lack of fees is some sign of being "in the dinosaur age", like "this coin is brand new, so we don't need fees (yet)". But fees are needed in every coin with limited supply. If the basic block reward in a coin will ever reach zero, then miners need any fees to build new blocks. On the other hand, if some coin has unlimited supply, then there could be no fees at all, but then inflation will act as a hidden fee.
Also, transaction batching is possible now (and transaction joining on mempool level may be possible in the future). So, if there are hundreds of transactions and they are all batched, then the whole transaction can be broadcasted for one satoshi per byte, everyone could pay one satoshi for transaction and if there are more users than bytes, then some people could get that batched for free.