'Weep' and 'cry' are often very similar, but 'weep' is much more connected to sad emotions and situations. You would not typically say 'weep tears of joy.' for example. Since weep has this negative association, 'cry with laughter' is more correct.
I would also use 'cry' with frustration or rage. Weep is best used with sadness specifically, not just negative emotions in general.
Finally, 'cry' is sometimes used to indicate a shout or yell (for example: " 'Be careful!' he cried." ). You can never use 'weep' for this meaning of 'cry.'
Let me know if you have any questions!