A non-disclosure agreement is a contract which protects confidential information a Discloser needs to share with a Recipient for a specific purpose. This purpose can be a potential commercial or technical collaboration for example. A Non-disclosure agreement can be 1-way or mutual depending on whether 1 or both parties have confidential information to disclose to the other side.
The goal of a purpose is to define the scope of the exchange of information so that information disclosed out of that scope isn't considered confidential. As a result, a broad purpose can be challenged easily but a narrow purpose will limit the scope of the discussion. It is therefore important to define a purpose which is well defined but broad enough that you don't need to enter into a new confidential agreement with the recipient every time you need to disclose confidential information.
When creating a Non-Disclosure Agreement, it is also important to consider the term of confidentiality obligations as well as the type of information which will be disclosed. The Recipient will no longer need to keep the information confidential after the end of the term which is why it must be long enough for the disclosure of the information to not affect the Discloser.
There is no real difference between an NDA and a Confidentiality Agreement as they both aim to protect confidential information for disclosure. Although the titles differ the legality of the agreements remains the same.