phpList employs a very flexible “membership” concept.
A User is an email address plus some Preferences, such as "I always want HTML emails", and, optionally, some Attributes ("my name is Bob", "I'm a Pastafarian").
A List is a grouper around some theme. It has Messages and Members.
A User may be a Member of (or Subscriber to) multiple Lists.
If you Import Users, from a CSV file for example, you have the option of automatically adding them to any of your Lists.
This "Many-to-Many" between Lists and Users (each List may have many Users; each User may belong to many Lists) may seem odd, but, oh, say you have a "Bathroom Safety", "Fishing Tips", and "Lounger Living" mailings. Well, you could setup these three Lists and allow your Users to Subscribe to any or all of your Lists they wish.
Many sites using phpList only have one List, and all Users should be Members of that, so it seems odd, this extra flexibility. You'll find that you can customize messages fairly well to remove any possible confusion for you or your Users.
Now the other side of the system, Messages & Templates.
A Message is a single email (event) sent to the Members of one or more Lists (yes, targeting multiple lists is allowed)
A Message may use a Template or you may enter the Message Content in a "one-off" fashion, entering your HTML directly.
A Template must contain a CONTENT Placeholder. This defines an area within your email design that will be filled with the Message Content, allowing you to have a consistent look to your pages, while the content changes with each mailing.
Other Placeholders allow you to include a unique URL for each User that allows them to change their Preferences or Unsubscribe. You may also use any of the optional Attributes you defined.
While some users are bound not to confirm their registration, due to the passing of time or newbie confusion, this lowers the risk of flagging your messages as spam (because it tries to make sure users really did register for themselves).
A semi double opt-out procedure could be accomplished though by asking for passwords (see PhpListConfiguration), assuming the users already have ones.