Over the years I've been leaning more toward #2 because it's easier to manage. When all of the controls are directly inside your TabControl, they must have unique names regardless of whether they're on separate pages.
Hi, in my opinion if its a single page application, you may put all the contents in particular tabs however if its a huge application with multiple scenarios and pages, I advise you to use user controls as they are reusable and have many advantages and also you need not change the contents again and again in every page, just make the changes in the user control and you are good to go.
Hope that helps :)
Also of note is that user controls themselves have overhead in terms of maintenance due to the boilerplate required. It's not much, but enough to give one pause for small projects. For medium to large sized projects, the modularization benefit overwhelms the extra maintenance of more code.