Addresses are opaque identifiers used as destinations for bitcoin transactions. (They are never used as sources; so while typical transactions have a notion of a ``receiving address'' there is no such thing as a ``sending address''.) From a user perspective, there is no meaning to addresses beyond this.
Within the bitcoin network, addresses are used to identify signing keys. Each signing key is composed of two parts, a public and a private part. Addresses are derived from the public part, and are used within leaf nodes to verify that the signing key used to spend them is the right one.
The act of signing, on the other hand, uses the private part of the key. This is never exposed to the network.
As addresses are in 1-1 correspondence with signing keys, it is advisable to never reuse addresses. Reusing addresses amounts to reusing signing keys, potentially weakening the security of your keys for no benefit to anybody.