A plant is a plant. Some are just more pretty/useful than others.
You are really asking for the difference between invasive and non-invasive plants. There are flowering plants as well as non-flowering plants. Both types fall into the category of weeds or plants that are wanted in a garden or yard.
A weed is a plant that is invasive, causes an annoyance, and is generally unwanted in a yard or garden. Sometimes they flower (such as dandelions), sometimes they do not (such as ivy).
Many times people choose to put flowering plants in their gardens, but not always, decorative grasses, ferns, and certain types of shrubs do not flower yet they are still wanted in a garden so they are not weeds.
Many types of perennials and ground covers are designed to spread, making them invasive like a weed.