A Resource that refers to a group of objects actually just a list that exists in the background. Both value and puller are list concepts and might be easier to understand if you think about the Resource as a list as well.
1. The value is the thing on the list the query currently evaluates. For example "WHERE value.Type == 3" would filter for objects with a Type label of 3. In both the Acquire and Pull from List activities, if you type a string that is not some keyword into the query, will interpret it as a label on the value. So normally you'd only type "WHERE Type == 3". So you only really ever use value in cases where the actual object reference needs to be passed into a function.
2. Similarly, puller refers to the 'thing' that is trying to pull something from the list. In the Pull from List activity the user can specify the puller (the token by default). In an Acquire activity the puller is always the token.