From what I've learned, it's mainly the use of the <table> tag itself that is becoming something web developers should avoid. With CSS allowing for table display types it's always a better idea to use CSS tables vs the <table> tag.
A few reasons you would probably want to avoid tables is the fact that not all browsers display them the same. It's possible to get all of the major rendering engines to display things pretty much the same, but now with the growing mobile market of phones and tablets you do need to start considering displays for these devices as well (for which tables tend to be less friendly). Fluid and responsive CSS designs are what seem to be filling the void here. You can create grid designs without using tables, giving you the same organized look but much more suitable across all platforms, devices and browsers.
As far as being acceptable goes, I'm not actually entirely sure what the W3C standard is for tables at the moment. It may still be valid (at least for HTML 4 validation) but in any case it's not such a bad practice that it would ruin anything on a site. It's obviously one of the simplest ways of aligning and organizing your page but it's something that any web developer should be trying to get away from and avoid for the modern age of web development.