To me, the differences are just semantics but its those semantics that make it such a valuable approach.
A recent post from Dan North sums it up pretty good:
My goal as a developer is to deliver a system that behaves in a particular way. Whether or not it has tests is an interesting metric, but not the core purpose. “Test-driven” development will cause me to have lots of tests, but it won’t necessarily get me nearer the goal of delivering business value through software. So you can use goal-oriented vocabulary in your development process as well as your code to help maintain perspective on what you are trying to achieve.
The true benefit comes from finding an alternate way of thinking/approaching/communicating the problem.
This is an area I'd like to see the .NET community improve in.
There tends to be too much focus on a new tool or new framework being the solution to a given problem, which ultimately leads to misuse or use without understanding.
It's important to remember that the tool should not be the solution to the problem, it should support solving the problem.
Technorati Tags: altnetuk,alt.net,bdd