Azure's main benefit is that it enables you to scale an application or service up or down as your needs dictate without having to invest in long-term costs such as hardware or staff to maintain the hardware.
If you implement the same application using your own infrastructure, you have a lot of up front fixed costs regardless of how much value or utility you get out of the application. For example, you have to purchase, install, setup and maintain enough hardware to handle your anticipated peak load, even if your peak load occurs only once a day or once a month. What happens if you underestimate your peak load? Your service goes down until you can build out more hardware. What happens if you overestimate your peak load? You have unused hardware sitting around, which means you have spent money that isn't working for you.
Yes, Azure can be used for B2C scenarios such as running a consumer-facing web site or service. B2C needs to be able to scale up quickly (in minutes or hours) to handle word of mouth viral uptake. Can you bring new server hardware on premises and have it up and running in half an hour? Probably not.
Yes, Azure can be used for B2B scenarios, such as running a service API for inventory or supply chain management. You can set up your Azure app as a self-sufficient island, or using the Service Bus you can tie it into your corporate network for back-end services.
Azure is particularly useful for handling "surge" processing, such as performing data analysis on large data. Spool up several Azure instances to chew through the data, then shut them all down when you go home at the end of the day. You have the benefit of having hundreds or thousands of compute nodes available to you, but you only pay for them when you use them.
Though I am always pushing for them to do more, I must credit the Azure platform team for not taking on too much at one time. Azure offers a fairly small menu of services right now (blob storage, table storage, queue service), but those services work well and scale well.
Is Azure mature? In the sense that the services offered are fully baked and reliable, yes, I would say Azure is mature. If you mean mature in the sense that every possible service you could want is built-in, no, Azure is still growing the breadth of its service offerings.
There are application and service scenarios that Azure probably isn't the best fit for right now. I don't know if the Azure data centers are suitable for real time financial market processing, for example. Azure is suitable for near real time data analysis and certainly end-of-day risk analysis. Azure doesn't implement automatic deployment and scale-up to handle dynamic loads or peak shaving - you can manage this manually or write your own instance manager using the service API. Azure's pricing structure is geared for business applications - it's overkill and not cost effective for hosting a personal web site or blog unless such a site has fairly high traffic and is a revenue generator.
Disclosure: I am a Microsoft employee and I work on tools for Windows Azure.