Yes, there is a difference:
REST API calls to GET search/tweets are different to Web Search results - REST is limited to a few days at most, but web search will display older tweets too. Both REST Search and Web Search do not aim to index every single tweet - so sometimes you may find tweets missing.
Streaming is also limited, but is probably your best bet if you want to gather as much as possible - the limit for streaming is 1% of the firehose (all public tweets posted), and the only time you’ll be missing tweets is when the tweet volume goes above 1% of the firehose (whatever that is at the time - it can vary quite a bit - you’ll need to keep an eye on stream messages about rate limits)
If you’re gathering a dataset - it might help to use both Streaming, and REST - there will be a lot of overlap, but REST Search calls are useful for filling in gaps in data, especially when a stream disconnects sometimes.