Not a big difference as u might thought.. and nowadays yonger generation use them even more freely.. the distinction between these two words is becoming vague.
In reply to waseem:
[quote]我没空儿，不能参加晚会了（Ｉ can’t go to the party for I ｈａｖｅ ｎｏ ｔｉｍｅ）．In the negative form, you can’t say “不可以”. [/quote]
I will not be surprised if i hear a chinese person say something like "我没空儿，不可以参加晚会了." Its not strange at all, but maybe more suitable for yong girls to say it in that way. give a "cute" feeling.. maybe originally from Taiwan. It getting popular among Chinese girls to imitate the Taiwan dialect. they think its cute - -haha
So I would say that 能 and 可以 are interchangeable in many ways. even the Chinese people mix it up alot...
According to Vera
[quote]能 ------can, be able to
IMO "可以" is stronger than "may" in many sense. its even stranger than "I may able to do it".
if someone say "我可以自己去." I would tend to believe they are saying "I can go alone." its rather a confirmative statement than dubious.
Althought there are also many cases that they are not interchangeable. like waseem said "他的英语还可以" u can only say "可以" here. and it means "OK" not perfect.
So my conclusion is "能" is used to describe an ability, that someone is "able to" do something. "可以" is more intricate, It can be perceived just like "能" in many ways. but is less stronger, for example, it delivers the feeling that someone is "OK" in doing something.