Mary probably married Thomas Cook(e) as his second wife (he had a first wife Mary living 14 May 1660). See RI Genealogical Register, Vol. 9 No. 1, p. 2. This book also questions whether she ever was the wife of Samuel Wilbur, as shown in Austin's Genealogical Dictionary of RI.
The identity of Mary second wife of Jeremiah is discussed in New England Historical and Genealogal Register Vol 128 p 152ff, by Jane Fletcher Fiske. In 1678 Mary was still the widow of Thomas when she took receipt from her stepson John Cooke for his legacy (see the above-noted source). She probably married Jeremiah Brown sometime in 1679, as their first child Samuel was born March 1680. She could not have been Mary Havens, as suggested by some, because William Havens mentions his daughter Mary Cook in his will dated 13 (or 30) March 1680. Also, on 31 March 1680 Jeremiah Brown and his wife Mary took receipt from Oliver and Phebe Arnold for Phebe's legacy from her grandfather Thomas Cooke; Phebe was son of Thomas Jr. (designated as III on my tree). so it is apparent that Mary Cook(e) who married Jeremiah Brown was the widow of Thomas, and that she could not have been the daughter of William Havens mentioned in his will.