Yes, but why would I need different controls on different pages? Why would I want to separate controls in a program?
Look at the IDE, menu "Tools" > "Options". What you see in the right part of the form is a TNotebook with many pages. Whenever you select an item in the tree the corresponding notebook page is activated. This way a huge amount of information can be displayed within a single form. Without the notebook, the form would be extremely crowded, or the information would have to be distributed onto a large number of separate forms which are very inconvenient for the user (requiring a huge multi-level menu which is painful to use).
Do the controls become inactive when the page they're on is not active?
Only the controls on the visible page are "active" (I suppose you mean: "the user can select them and edit the provided information").
Could I maybe put controls for a database of "insects" and then a database of "trees" on another page and when the user wants insects he gets that particular page?
I don't know exactly what you mean here. But suppose you have a database with names and properties of animals and plants, you could create a page for "insects", another page for "mammals", other one for "trees", yes. If all this information can be displayed with the same controls (an Edit for "common name", another edit for "scientifc name", a listbox for "countries", etc) then you can use a TTabControl, filter the database for "insects", "mammals" or "trees" and populate the controls on the TabControl correspondingly whenever another tab is selected. When "insects", "mammals" and "trees" require different controls, you should use a TPageControl where every page can be populated with its own controls. Both TTabControl and TPageControl have a row of tabs - in this example they would be labeled "Insects", "Mammals", "Trees", and the user can click on these tabs to see the page with the corresponding controls.
Are pages there for the programmer to better organize his program
For both programmer and user. The "Tools" > "Options" dialog is much more easier to use than a huge menu with inidivdual forms.
Or for the user to have access to the certain parts of the program he's allowed to access (this page has controls used by admins in a chat room and this other page is for controls used by regular chatters)?
Not automatically, but of course such restrictions can be coded.
Why don't you simply check it out? Create a new project, add a TPagecontrol, right-dick on the pagecontrol and add several pages. Add some controls to the page that you see. Click on one of the tabs to see another page and add controls to it too. Finally compile and run and play with it. You will immediately understand how a PageControl works. Then repeat with the TabControl and see the difference.