Is holding your credit card details illegal ?
No, the company can retain it for a period of time 'required for business, legal and/or regulatory purposes'
- section 3.1 of the Payment Card Industry Data Security Standard, set-up by Visa, MasterCard, Amex, Diners, etc
Offering you a quick ordering process next time you order would be included as such a 'business purpose'
(as would Amazon's 'one-click' ordering, etc).
But they must hold it securely encrypted, limit access to it to suitably vetted personnel, run anti-virus and hacker checks, etc, etc, etc.
And they're not allowed to hold the CV2 security number from the back of your card, once they've charged it. They can't keep that together with your card number, expiry date, etc.
https://www.pcisecuritystandards.org/
All retailers taking card payments must comply with these terms, but the level of checking Visa and Mastercard do on them will depend on how many cards they process - the big merchants like Tesco will be audited more thoroughly than Bloggs Ltd who take 5 card payments a day.
But if it was true that as rumoured Wiggle did suffer a breach 18months or 2 years or whatever it was ago, they would have had such swingeing terms applied to them by their merchant and their website and back-office systems would have been gone through so forensically thoroughly that a repeat breach would be far less likely than another retailer.
Here's how someone might have got at your card
http://news.bbc.co.uk/1/hi/uk/7675191.stm