How to implement a non-upgradeable proxy with constructor/initializer calls that can have varying signatures?

Hi, I need some help with my question, in regards to purpose of using non-upgradeable vs upgradeable proxies? Why would anyone wants to use non-upgradeable proxies?