Hi Jacob,
An array is returned because there could be multiple customers that meet the criteria depending on how you do the search. Seaches by unique identifiers like the CustomerID, LogonName, or TaxID would likely return a single customer. But more generic searches like CreatedOnOrAfter or PrimaryCIF could return several customers that meet the values provided. In terms of the addresses, only one address is returned for a given customer (the customer's default/primary address).
-- Solène