If you have SQS in between SNS and Lambda, it can be useful for reprocessing. For example, if Lambda fails to process an event, then you can increase the memory or increase the timeout and you will be able to reprocess the older events.
If you are using SNS directly with Lambda, then if Lambda fails an event, that particular event is lost. If you want all of your events processed, then go for SNS - SQS - Lambda. If not required, then go with SNS - Lambda.
Also, SQS can be used as a Lambda Trigger now, whenever a new item enters the queue the Lambda function is triggered.