Wordpress Development Site

What is the best solution to build a Wordpress website on a development server, so when the site is ready we can easily move the site to the Live server?

Would we have to reinstall/configure Wordpress, Plugins, move DB tables/content, images, etc...?

Is it better to develop on the server that the live site will be on? Like in a folder off the root... domain.com/wordpress

How do you handle this type of situation? Any advice is more appreciated! Thanks!