This is a complicated question with many answers across the development history of our product, but I'll give my own (unofficial) opinion.
"M" isn't trying to replace VB scripting, and I don't think it will replace the Excel formula language anytime soon. Instead, it's a simple language for doing just a couple jobs: getting and transforming data.
The language I most often compare "M" to is SQL. "M" and SQL both let you select specific columns and rows from your table, add computed columns, join tables, and aggregate data. But "M" gives you one query language that lets you "mashup" data from multiple sources in the same query: Sql Server, CSV, JSON, Facebook, Google Analytics, etc.
To your second question of using "M" inside of Excel functions, that's a cool idea!
I'd suggest to the Excel product team with the Feedback button inside Excel and/or at https://excel.uservoice.com/