Why do some outputs have a zero value and no address? What does it mean when an output has a value of zero and no address?  I'm looking at some fairly recent transactions, and I don't understand what this means.  Here's an example: https://blockchain.info/block-height/348120?format=json.

You can find the transactions quickly if you search that page for "value":0.
The outputs have no address because they are data-carrying outputs. 

  {
     "spent":false,
     "tx_index":80899271,
     "type":0,
     "value":0,
     "n":3,
     "script":"6a144153435249424553504f4f4c5245474953544552"
  }


The script argument is the serialized equivalent of 

OP_RETURN 4153435249424553504f4f4c5245474953544552


(The hex decodes to "ASCRIBESPOOLREGISTER")

OP_RETURN means that all attempts to spend this output will fail. This can't be spent, so there's no point in putting money in it - it would just be lost.