Is this OK or less preferred?
Sometimes the site that I developed before was not longer live or had new design.
Is it good to still keep a snapshot of the site or give the demo site with my personal website domains in my resume?
This is perhaps the most important question.
If you developed it for an employer, I believe it's actually fairly likely that they have full legal rights to it, thus you may not have a legal right to do anything at all with it.
You should probably check your contract or consult a lawyer to determine your exact legal rights.
In website development, there may be other factors, like performance, that also plays a role. Having it be seen supporting a large user base efficiently can be a lot better than a sandbox view of it.
Saying you developed this for some company (even with a link provided) isn't quite the same as pointing them to the company website which shows them running it.
If you just say you developed a website, with or without mentioning that it's been redesigned, isn't good - either you don't have anything to demonstrate, or you are passing off someone else' work off as your own.
This can go for either the company website or your website.
With your website, you have a fair amount of control over scheduled downtime.
A company website is more likely to be the target of Denial of Service attacks or hacks.
With your website, you probably don't have the top of the line hosting, so it's more likely that there's some expected or unexpected downtime, and you may even find yourself without a host in the worst case.
The extreme example is a company website that is no longer live, which obviously favours your website.
As a developer, using an actual site is risky for the following reasons:
Using a demo site is also risky for different reasons:
Focusing on generic things like stackoverflow questions you've answered or specific things like articles you've written or algorithms you've implemented may be a better choice.