Using @ just sends a notification to the person tagged, or sort of threads the conversion if it is a reply.
The # is for tagging. A good way to get a sense of how it is used would be to frequently check the trending or popular hashtags. Basically anything with the same tag will show up together when someone is interested in the topic. Sometimes people also use them ironically like #ThisIsAReallyLongAndSpecificTagThatWillNotConnectWithAnyOtherPost