It is possible to have tables without ID's, but if you have one how are you going to identify the row you want to update/delete? Adding is easy since you are just going to put in a new row, but if you're rows aren't identified by a unique ID then you won't be able to acurately update things.
Think about this: You have a table of your friends with phone numbers. Your table stores each persons first and last names separately and then the phone number. Now your friend John Smith changes his phone number and you need to update your database. This isn't to hard you can just update where first name = "John", but what if you have multiple friends named John? Not a problem you just need to update where first name = "John" and last name = "Smith". Now what happens if you have multiple friends named John Smith, and you've only stored those 3 columns, you now need to update where first name = "John" and last name = "Smith" and phonenumber = "xxx-xxx-xxxx".
That is why you need unique ID's. If you had a unique ID all you'd need to do is look through your list to find the correct John Smith and update where id = X (where X is John Smith's unique ID).
Trust me and just about every other database programmer out there. Your life will be much easier if you have a single unique ID to tell you what record you are dealing with. There are less chances for mistakes, and you will end up typing less. Plus when you are writing code you won't know that there can/will/are multiple people by the name of John Smith. In an extreem circumstance you could have multiple John Smith's with the same phone number (father and son) and you only want to change one of them. Without an ID you won't beable to do this.