Diamond socket means that the data is different for each point, circle socket means that the data is single for all points. The diamond socket with the dot simply means that you can use it either as diamond or as circle socket (you can plug in data from circle and diamond sockets, and when you do so, it changes the shape to one of them)
Note also, that circle sockets corresponds to solid connections, and diamond to dashed:
Mixing two types ofYou can pass data (circle andfrom circle to diamond without dot), but not the oposite, it is not allowed: