At work we got a problem with case sensitive REST api which ignores
wrongly spelled parameters without returning any error. In my opinion
this is bad.
Then don't do that. Validate your parameters. Enforce "missing" parameters. Don't send bad requests in the first place. Conforming to an API, especially at such a level of spelling the parameters correctly, is not a gross burden.
Should a REST API be case sensitive or non case sensitive?
As has been mentioned, URLs are case sensitive, so there really isn't much room for negotiation here. Up/downshifting urls/parameters confuses everybody and it makes your URLs not unique. Again, it's not an extreme demand to expect implementors to use the proper URLs. These URLs are (most likely) not typed in by random people, they're implemented code or web pages. Finally, this only impacts the entry point URLs. The rest of the URLs should be direct copies lifted from the payloads because you're following HATEOAS. Those URLs shouldn't be messed with at all, and simply parroted back.
Simply, if case sensitivity is an issue, you're doing it wrong.
What are the advantages and disadvantages of each approach?
The advantages are consistency, clarity, and proper enforcement of your API. There are no disadvantages.