Vui mừng bạn đăng điều này như một câu hỏi. :)  
Tôi đã cố gắng nói rằng các kẻ hủy diệt và finallykhác nhau về mặt khái niệm:
- Phá hủy là để giải phóng tài nguyên ( dữ liệu )  
- finallylà để trả lại cho người gọi ( điều khiển )
Hãy xem xét, giả sử mã giả định này:  
try {
    bar();
} finally {
    logfile.print("bar has exited...");
}
finallyđây là giải quyết hoàn toàn một vấn đề kiểm soát và không phải là vấn đề quản lý tài nguyên. 
Sẽ không có nghĩa gì khi làm điều đó trong một kẻ hủy diệt vì nhiều lý do:
- Không có thứ gì được "mua lại" hoặc "tạo ra"
- Việc không in ra tệp nhật ký sẽ không dẫn đến rò rỉ tài nguyên, hỏng dữ liệu, v.v. (giả sử rằng tệp logfile ở đây không được đưa trở lại chương trình ở nơi khác)
- Đó là hợp pháp logfile.printđể thất bại, trong khi phá hủy (về mặt khái niệm) không thể thất bại
Đây là một ví dụ khác, lần này giống như trong Javascript:
var mo_document = document, mo;
function observe(mutations) {
    mo.disconnect();  // stop observing changes to prevent re-entrance
    try {
        /* modify stuff */
    } finally {
        mo.observe(mo_document);  // continue observing (conceptually, this can fail)
    }
}
mo = new MutationObserver(observe);
return observe();
Trong ví dụ trên, một lần nữa, không có tài nguyên nào được phát hành. 
Trên thực tế, finallykhối này đang có được các nguồn lực bên trong để đạt được mục tiêu của mình, điều này có khả năng thất bại. Do đó, không có nghĩa gì khi sử dụng hàm hủy (nếu Javascript có).
Mặt khác, trong ví dụ này:
b = get_data();
try {
    a.write(b);
} finally {
    free(b);
}
finallyđang phá hủy một nguồn tài nguyên b,. Đó là một vấn đề dữ liệu. Vấn đề không nằm ở việc trả lại quyền kiểm soát cho người gọi một cách sạch sẽ, mà là về việc tránh rò rỉ tài nguyên. 
Thất bại không phải là một lựa chọn, và (về mặt khái niệm) không bao giờ xảy ra. 
Mỗi bản phát hành bnhất thiết phải được kết hợp với việc mua lại và sử dụng RAII là hợp lý.  
Nói cách khác, chỉ vì bạn có thể sử dụng hoặc để mô phỏng hoặc điều đó không có nghĩa là cả hai đều là một và cùng một vấn đề hoặc cả hai đều là giải pháp phù hợp cho cả hai vấn đề.