CFNetwork is a lower-level C class that is basically wrapped by the NSURLConnection class at a high-level of abstraction. You're right to use NSURLConnection. The reason people recommend frameworks like AFNetworking is because they do more than NSURLConnection in less lines of code.
Here is a comparison of AFNetworking, ASIHTTPRequest, and NSURLRequest: ASIHTTPRequest vs AFNetworking vs NSUrlRequest
My favorite networking framework for Objetive-C is actually MKNetworkKit: https://github.com/MugunthKumar/MKNetworkKit
Which is also just a nice abstraction but it allows one to handle connections using success and failure blocks very efficiently.