Should I delete pictures from Photo Stream or Camera Roll to free up space on my device?
If you haven't enabled Photo Stream syncing on your Mac/PC, you should keep the copy that is in your camera roll until you've copied it to your PC. That is the original copy, and it won't be deleted until you do it yourself.

If you have enabled it, and made sure the "automatic import" setting is enabled1, you can safely delete the photo from your Camera Roll after syncing with iCloud. Deleting a photo manually from the Photo Stream will remove it from the photo stream on all of your devices, but a Mac/PC (with the above-mentioned "automatic import" setting) will have copied the photo into its library when it synced with the Photo Stream.

The Photo Stream photos are transient copies of the photos in your Camera Roll; photos older than 30 days will be deleted, and if you have more than 1000 photos the oldest will be removed to make space for new ones. If you are using Photo Stream and syncing to a PC, I would just let iCloud manage the Photo Stream, and manually delete photos from the Camera Roll.

Source

1) To quote this Apple support article:


  You can choose to download all of your photos from My Photo Stream to your Mac and PC automatically.
  Photos 1.0 or later: Open Photos and go to Preferences > General. Select Copy items to the Photos library.
  iPhoto or Aperture: Go to Preferences > Photos (or Photo Stream) > My Photo Stream > Automatic Import. All of your photo stream photos will import into your Events, Projects, Photos, Faces, and Places folders in iPhoto or Aperture.


Regarding iCloud on Windows: When I last used it 2 years ago, the photo stream folder would save photos in perpetuity, ignoring any size limit. I'm not sure if this is still the case with the latest version of iCloud.