Normalization from UNF to 3NF
The simplest way to think about normalizing data is that you want to get to where all the data in the table is either your primary key or dependent on the primary key.  It's also important to know how your entities relate to each other, because you'll have a different model for one-to-many versus many-to-many relationships.

I think the relationship modeling is where you've gone wrong. You're moving every relationship into its own table, which is not appropriate for a one-to-one or one-to-many relationship.  For instance, unless a single order can belong to multiple customers, the Customer_Order table is not the correct way to model this.  What you'd want instead is a CustomerNo column in your Order table, with the CustomerNo as a foreign key to the Customer table.  That identifies the customer who placed the order.

Same thing with your shipping info.  A table that contains only ShipperNo and DateShipped doesn't do you any good.  If the entire order must go out in a single shipment, then adding ShipperNo and DateShipped to the Order table would work.  If an order may be split into multiple shipments, then I'd create a Shipment table that contains (ShipmentNo, OrderNo, ShipperNo, DateShipped), as well as a ShipmentItems table that links the Shipment to the actual products from the order that were sent in that shipment.  Now the shipments that resulted from an order can be identified by selecting all Shipment rows where OrderNo matches the order you're viewing.

Your Invoice_Order table is appropriate if you may issue multiple invoices for a single order, else I'd just add OrderNo to the Invoice table as a foreign key.

Is that enough to help you see the general pattern?  You've done a good job separating your entities, if we can get you over the hump on modeling the relationships between the entities.