The question should be based on your business rules. What is the data REQUIRED for a customer? If a SINGLE billing address is ALWAYS required, then it reasonable to make the billing address an attribute of the customer, and include it in the customer table.
If multiple billing addresses or shipping addresses are part of the business rules, then these address belong in separate, related tables.
If neither billing nor shipping addresses are required, then these are also better placed in a separate table.
If using the separate table approach, you should NOT use separate tables billing_address and shipping_address. You SHOULD use one customer_address table only, identifying the address_type with a separate column.
Remember that placing addresses in a separate table means that you will need to consider JOINs rather carefully.
Consider:
SELECT customer.name, address.zip
FROM customer, address
WHERE address.customer_id=customer.id
AND address.type='BILLING'
If a billing address is an option, not a requirement, this query would return only the SUBSET of customers having billing address records.
To find all the customer names, even where the customer doesn't have a billing address, you'd need an OUTER JOIN.
SELECT customer.name, address.zip
FROM customer
LEFT JOIN address ON customer.id=address.customer_id
WHERE address.type='BILLING'
Or this:
SELECT customer.name, address.zip
FROM customer, address
WHERE address.customer_id=customer.id
AND address.type='SHIPPING'
If a customer has MULTIPLE shipping addresses, this query would return the customer's name MULTIPLE times (once for each shipping address).
name zip
nemo 12345
nemo 99999
nemo 67676
etc.
You could reduce the duplication by doing what a lot of websites do: assign an attribute to one of the shipping address ONLY, like address.status='DEFAULT'
SELECT customer.name, address.zip
FROM customer, address
WHERE address.customer_id=customer.id
AND address.type='SHIPPING'
AND address.status='DEFAULT'
Assuming you managed the status correctly, this would return only one record per customer shipping address.