Best way of creating a website with multiple themes/languages

AFAIK there’s a one-to-one relationship between a WordPress installation and a theme – you can only have one theme per install.

As you say site2 is ‘completely different’ then it probably makes sense to make it a completely separate WordPress installation. The only reason to think about something else would be if it shared a lot of content or configuration with site1 where you’d save time integrating them.

The site structure you suggest is possible, but it means that the site2 directory is ‘inside’ site1’s WordPress installation which creates some problems. It would be a much better idea if you can do it this way to put the WordPress installations like:

company.com/site1
company.com/site2

Then you could use an .htaccess in the root of your webhosting for company.com/ to immediately redirect people to site1, so that visitors who type company.com go straight to that WordPress.

EDIT: I missed your note about a landing page. The above site structure would work great with a landing page at company.com/ which then sends people off to the right site. If you can make the landing page simple and in HTML only (i.e. not generated from WordPress), that’s great. If you need to make it a WordPress page from one of the two sies that’s also doable but a bit more tricky.

For the language settings, check out the excellent WPML multilanguage plugin, which might help you out here to give you a nice language switcher feature.

HTH, reply here if you need more info.