Without Root, why can I pull a specific apk using adb, but not everything in /data/app. Android 4+? Using: Droid Bionic 4.04 without Root.

I can use the adb to pull a specific apk file to my PC, for example,

     adb pull /data/app/com.google.android.gm-1.apk C:\my-hacks


which pull gmail's apk file. But when I try to copy the entire /data/app directory with 

     adb pull /data/app C:\myhacks


the command line reads  
pull: building file list...
0 files pulled. 0 files skipped.

I don't understand why I have permission to pull specific files from /data/ but not everything.
It's a "permission and privacy" thing. While the .apk does not have any privacy concerns involved (and thus can give read permission to everyone), the data do, and thus the directory is only readable by owner, group, and root (not by "other", which is what you would need -- "other" has only eXecute permissions).

ls -l / | grep data
drwxrwx--x   25 system   system  4096 Jan 28 17:51 data


Which means: Specifying the file directly, you can pull it (as it has the required file permissions, and the directory permits you to cd into due to the set eXecute bit). Specifying the directory instead fails, as this would require to change (cd) into the directory (which works) and build a list of files contained -- which is impossible due to the missing read permission on the directory entry itself.