Name collisions means: You create a function named Db_connect, and somebody elses code this you use the your file (i.e. An include) have the same function with the same name. To get around this problem, you rename your function stevewa_db_connect
Name conflict means:
You create a function named Db_connect, and then you use a code that has the same function name as you (for example, an include). To solve the problem of function name conflict, you rename the original function named Db_connect to Stevewa_db_connect, which makes your name longer and harder to read.
Now you use the namespace namespaces to make sure that your function named Db_connect separate from the other function you're referencing, while you don't need an extra long prefix to resolve function name collisions. So, the namespace namespace is more like a file to the Pathfinder, but the file path you want to use is correct.
PHP Learning Notes: Translating namespaces (namespace) learning materials