Password Protect or IP to access under development WordPress site otherwise shown a placeholder page

I really don’t see the point of “launching” a website that is still in development, only to be seen by the developers and the client. By all definitions, that’s not ‘launching a website’ 🙂

If the client can accept the fact that the website is still in development and the launch part takes place only after the website is ready and can be seen by everyone, I would recommend to setup a simple landing page on the root domain, continue to develop the website on a sub-domain / folder and protect it by a password (either with htaccess/htpasswd or using a plugin). This setup also prevents the errors and other development issues that might arise (unlikely, but still possible) to be seen by the regular users of the website. It’s also very easy to modify the Site URL afterwards so that the new site will replace the root landing page.

And to answer your original question, I would choose the plugin option, for its ease of use.